program. It can clean up many of the orphaned record problems, and certain
other inconsistencies in the Bacula database.
+A typical cause of MySQL database problems is if your partition fills. In
+such a case, you will need to create additional space on the partition or
+free up some space then repair the database probably using {\bf myisamchk}.
+Recently my root partition filled and the MySQL database was corrupted.
+Simply running {\bf myisamchk -r} did not fix the problem. However,
+the following script did the trick for me:
+
+\footnotesize
+\begin{verbatim}
+#!/bin/sh
+for i in *.MYD ; do
+ mv $i x${i}
+ t=`echo $i | cut -f 1 -d '.' -`
+ mysql bacula <<END_OF_DATA
+set autocommit=1;
+truncate table $t;
+quit
+END_OF_DATA
+ cp x${i} ${i}
+ chown mysql:mysql ${i}
+ myisamchk -r ${t}
+done
+\end{verbatim}
+\normalsize
+
+I invoked it with the following commands:
+
+\footnotesize
+\begin{verbatim}
+cd /var/lib/mysql/bacula
+./repair
+\end{verbatim}
+\normalsize
+
+Then after ensuring that the database was correctly fixed, I did:
+\footnotesize
+\begin{verbatim}
+cd /var/lib/mysql/bacula
+rm -f x*.MYD
+\end{verbatim}
+\normalsize
+
\section{MySQL Table is Full}
\index[general]{Database!MySQL Table is Full}
\index[general]{MySQL Table is Full}
-
If you are running into the error {\bf The table 'File' is full ...},
it is probably because on version 4.x MySQL, the table is limited by
default to a maximum size of 4 GB and you have probably run into
\item {\bf b)} You must cause any work that you distribute or publish, that
in whole or in part contains or is derived from the Program or any part
thereof, to be licensed as a whole at no charge to all third parties under
-the terms of this License.
+ the terms of this License.
\item {\bf c)} If the modified program normally reads commands interactively
when run, you must cause it, when started running for such interactive use in
the most ordinary way, to print or display an announcement including an
-appropriate copyright notice and a notice that there is no warranty (or else,
-saying that you provide a warranty) and that users may redistribute the
-program under these conditions, and telling the user how to view a copy of
-this License. (Exception: if the Program itself is interactive but does not
-normally print such an announcement, your work based on the Program is not
-required to print an announcement.)
+ appropriate copyright notice and a notice that there is no warranty (or else,
+ saying that you provide a warranty) and that users may redistribute the
+ program under these conditions, and telling the user how to view a copy of
+ this License. (Exception: if the Program itself is interactive but does not
+ normally print such an announcement, your work based on the Program is not
+ required to print an announcement.)
\end{itemize}
These requirements apply to the modified work as a whole. If identifiable
\item {\bf b)} Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your cost of
physically performing source distribution, a complete machine-readable copy of
-the corresponding source code, to be distributed under the terms of Sections
-1 and 2 above on a medium customarily used for software interchange; or,
+ the corresponding source code, to be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
\item {\bf c)} Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is allowed only
for noncommercial distribution and only if you received the program in object
-code or executable form with such an offer, in accord with Subsection b
-above.)
+ code or executable form with such an offer, in accord with Subsection b
+ above.)
\end{itemize}
The source code for a work means the preferred form of the work for making
options you specify. Normally, {\bf MySQL} and {\bf PostgreSQL} are
packages that can be installed on your distribution. However, if you do
not have them, to simplify your task, we have combined a number of these
-packages into two {\bf depkgs} releases (Dependency Packages). This can
+packages into three {\bf depkgs} releases (Dependency Packages). This can
vastly simplify your life by providing you with all the necessary packages
rather than requiring you to find them on the Web, load them, and install
them.
development and thus may not be stable. For example, while the current
production release of Bacula is currently 1.38.11, the current development
version is 1.39.22. All patch versions of the development code are
-available in the CVS (source repository). However, not all patch versions
+available in the SVN (source repository). However, not all patch versions
of the development code (odd minor version) are officially released. When
they are released, they are released as beta versions (see below for a
definition of what beta means for Bacula releases).
the new code. Beta releases are made with the following considerations:
\begin{itemize}
-\item The code passes the regression testing on Linux and
- FreeBSD machines. Including tape drive testing
- on Linux and FreeBSD.
+\item The code passes the regression testing on FreeBSD, Linux, and Solaris
+ machines.
\item There are no known major bugs, or on the rare occasion that
there are, they will be documented or already in the bugs database.
to time, the current makeup is the following:
\addcontentsline{lot}{table}{Dependency Packages}
-\begin{longtable}{|l|l|}
+\begin{longtable}{|l|l|l|}
\hline
-\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 } \\
+\multicolumn{1}{|c| }{\bf 3rd Party Package} & \multicolumn{1}{c| }{\bf depkgs}
+ & \multicolumn{1}{c| }{\bf depkgs-qt} \\
+ \hline {SQLite } & \multicolumn{1}{c| }{X } & \multicolumn{1}{c| }{ }\\
+ \hline {SQLite3 } & \multicolumn{1}{c| }{X } & \multicolumn{1}{c| }{ }\\
+ \hline {mtx } & \multicolumn{1}{c| }{X } & \multicolumn{1}{c| }{ } \\
+ \hline {qt4 } & \multicolumn{1}{c| }{ } & \multicolumn{1}{c| }{X } \\
+ \hline {qwt } & \multicolumn{1}{c| }{ } & \multicolumn{1}{c| }{X } \\
\hline
\end{longtable}
prior to configuring and building Bacula, since Bacula will need
them during the build process.
+For more information on the {\bf depkgs-qt} package, please read the
+INSTALL file in the main directory of that package.
+
Even if you do not use SQLite, you might find it worthwhile to build {\bf mtx}
because the {\bf tapeinfo} program that comes with it can often provide you
with valuable information about your SCSI tape drive (e.g. compression,
And you have already installed the additional rpms noted above.
SQLite is not supported on Solaris. This is because it
- frequently fails with bus errors.
+ frequently fails with bus errors. However SQLite3 may work.
\item Detar the Bacula source code preferably into the {\bf bacula} directory
discussed above.
\item {\bf cd} to the directory containing the source code.
-\item ./configure (with appropriate options as described below)
+\item ./configure (with appropriate options as described below). Any
+ path names you specify as options on the ./configure command line
+ must be absolute paths and not relative.
\item Check the output of ./configure very carefully, especially the Install
binaries and Install config directories. If they are not correct,
\item If after running ./configure once, you decide to change options and
re-run it, that is perfectly fine, but before re-running it, you should run:
-
\footnotesize
\begin{verbatim}
make distclean
bat needs the qwt package installed on your system. Please see the next
configure item for the details.
+ Qt4 is available on OpenSUSE 10.2, CentOS 5, Fedora, and Debian. If it
+ is not available on your system, you can download the {\bf depkgs-qt}
+ package from the Bacula Source Forge download area and build it and
+ the qwt package, both of which are needed to build bat. See the
+ INSTALL file in that package for more 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
+ your system. The path specified must be an absolute path and
+ not relative.
+
+ 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:
+ install it on your system (by default in /usr/lib).
+ If you have done so, you would specify:
\begin{verbatim}
--with-qwt=/usr/lib/qwt-5.0.2
to manually add a soft link to the name they use or use the
depkgs version, which handles the naming correctly.
+
\item [ {-}{-}enable-batch-insert ]
\index[general]{{-}{-}enable-batch-insert}
This option enables batch inserts of the attribute records (default) in