]> git.sur5r.net Git - bacula/docs/blobdiff - docs/manual/install.tex
Update
[bacula/docs] / docs / manual / install.tex
index 67559734e85a268c34e8f5b278f702340645211d..cdbc720e26e6baf276a294fe037492de924ad27f 100644 (file)
@@ -23,26 +23,26 @@ them.
 \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
@@ -51,11 +51,19 @@ the Bacula CVS. The released files are:
   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}
 
@@ -177,7 +185,8 @@ if you always run all the components on the same minor version number (i.e.
 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
@@ -188,21 +197,28 @@ The purpose of the beta releases is to allow early adopter users to test
 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}
@@ -303,6 +319,7 @@ The basic installation is rather simple.
 \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
@@ -319,14 +336,9 @@ The basic installation is rather simple.
    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.  
 
@@ -357,9 +369,6 @@ machine to another. If the {\bf make distclean} fails,  just ignore it and
 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.
@@ -394,14 +403,14 @@ continue on.
    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.  
@@ -548,7 +557,8 @@ support it.
 
 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
@@ -575,7 +585,7 @@ requires a certain knowledge to install and maintain.
 
 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}
@@ -609,8 +619,8 @@ The following command line options are available for {\bf configure} to
 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.  
 
@@ -638,7 +648,7 @@ customize your installation.
    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
@@ -657,15 +667,66 @@ customize your installation.
    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-wx-console ]
-   \index[general]{{-}{-}enable-wx-console}
+\item [ {-}{-}enable-bwx-console ]
+   \index[general]{{-}{-}enable-bwx-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.
@@ -673,7 +734,6 @@ customize your installation.
    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
@@ -691,7 +751,6 @@ customize your installation.
    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
@@ -731,7 +790,6 @@ customize your installation.
    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}
@@ -754,7 +812,7 @@ customize your installation.
 \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.
 
@@ -828,11 +886,11 @@ customize your installation.
 
 \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.
 
@@ -842,7 +900,7 @@ customize your installation.
    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}
@@ -882,17 +940,14 @@ customize your installation.
    \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}
@@ -991,7 +1046,7 @@ customize your installation.
 
 \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.  
 
@@ -1003,7 +1058,7 @@ customize your installation.
 
 \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.  
 
@@ -1017,7 +1072,6 @@ customize your installation.
    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
@@ -1059,6 +1113,34 @@ customize your installation.
    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
@@ -1108,7 +1190,8 @@ CFLAGS="-g -Wall" ./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
@@ -1126,7 +1209,7 @@ CFLAGS="-g -Wall" ./configure \
   --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
@@ -1141,24 +1224,18 @@ CFLAGS="-g -Wall" ./configure \
   --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}
 
@@ -1169,6 +1246,11 @@ stdc++ and gcc\_s libraries), make 3.8 or later.
 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
@@ -1212,6 +1294,25 @@ PATH=/usr/bin::/usr/ccs/bin:/etc:/usr/openwin/bin:/usr/local/bin:/usr/sfw/bin:/o
 \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}
 
@@ -1251,8 +1352,10 @@ CFLAGS="-g -Wall" \
     --sysconfdir=$HOME/bacula/bin \
     --mandir=$HOME/bacula/bin \
     --enable-smartalloc \
-    --enable-GNOME \
-    --enable-wx-console \
+    --enable-gnome \
+    --enable-bat \
+    --with-qwt=$HOME/bacula/depkgs/qwt \
+    --enable-bwx-console \
     --enable-tray-monitor \
     --with-pid-dir=$HOME/bacula/bin/working \
     --with-subsys-dir=$HOME/bacula/bin/working \
@@ -1425,9 +1528,9 @@ going to run it to backup your system.
 
 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}
@@ -1454,8 +1557,8 @@ delete_catalog_backup
 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
@@ -1464,8 +1567,8 @@ query.sql
 bsmtp
 startmysql
 stopmysql
-wx-console
-wx-console.conf
+bwx-console
+bwx-console.conf
 9 man pages
 \end{verbatim}
 \normalsize