From: Kern Sibbald Date: Thu, 4 May 2006 09:17:07 +0000 (+0000) Subject: Updates X-Git-Tag: Release-2.0.0~882 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=0a88427af1f97383feb94b9b5d89629a09a3e816;p=bacula%2Fdocs Updates --- diff --git a/docs/developers/developers.tex b/docs/developers/developers.tex index a7620ade..49419143 100644 --- a/docs/developers/developers.tex +++ b/docs/developers/developers.tex @@ -42,6 +42,7 @@ \clearpage \include{generaldevel} +\include{platformsupport} \include{daemonprotocol} \include{director} \include{file} diff --git a/docs/developers/generaldevel.tex b/docs/developers/generaldevel.tex index 7fd8f9f8..af1f8fd2 100644 --- a/docs/developers/generaldevel.tex +++ b/docs/developers/generaldevel.tex @@ -21,6 +21,9 @@ framework of making Bacula source changes. Contributions from programmers are broken into two groups. The first are contributions that are aids and not essential to Bacula. In general, these will be scripts or will go into and examples or contributions directory. +For these kinds of non-essential contributions there is no obligation to do +a copyright assignment as described below. However, a copyright assignment +would still be appreciated. The second class of contributions are those which will be integrated with Bacula and become an essential part. Within this class of contributions, there @@ -34,55 +37,59 @@ requirements for such code. Subject to the copyright assignment described below, your patches should be sent in {\bf diff -u} format relative to the current contents of the Source -Forge CVS, which is the easiest for me to understand. If you have checked -out the source with CVS, you can get a diff using: +Forge CVS, which is the easiest to understand and integrate. +If you have checked out the source with CVS, you can get a diff using: \begin{verbatim} cvs diff -u > change.patch \end{verbatim} -If you plan on doing -significant development work over a period of time, after having your first -patch reviewed and approved, you will be eligible for having developer CVS access so -that you can commit your changes directly to the CVS repository. To do so, you -will need a userid on Source Forge. +If you plan on doing significant development work over a period of time, +after having your first patch reviewed and approved, you will be eligible +for having developer CVS access so that you can commit your changes +directly to the CVS repository. To do so, you will need a userid on Source +Forge. \subsubsection*{Copyrights} \index{Copyrights} \addcontentsline{toc}{subsubsection}{Copyrights} -To avoid future problems concerning changing licensing or copyrights, all code -contributions more than a hand full of lines must be in the Public Domain or -have the copyright assigned to Kern Sibbald as in the current code. Note, -prior to November 2004, the code was copyrighted by Kern Sibbald and John -Walker. - -Your name should be clearly indicated as the author of the code, and you must -be extremely careful not to violate any copyrights or use other people's code -without acknowledging it. The purpose of this requirement is to avoid future -copyright, patent, or intellectual property problems. To understand on -possible source of future problems, please examine the difficulties Mozilla is -(was?) having finding previous contributors at -\elink{ -http://www.mozilla.org/MPL/missing.html} +To avoid future problems concerning changing licensing or copyrights, all +code contributions more than a hand full of lines must be in the Public +Domain or have the copyright assigned to Kern Sibbald as in the current +code. Note, prior to November 2004, the code was copyrighted by Kern +Sibbald and John Walker. + +Your name should be clearly indicated as the author of the code, and you +must be extremely careful not to violate any copyrights or use other +people's code without acknowledging it. The purpose of this requirement is +to avoid future copyright, patent, or intellectual property problems. To +understand on possible source of future problems, please examine the +difficulties Mozilla is (was?) having finding previous contributors at +\elink{ http://www.mozilla.org/MPL/missing.html} {http://www.mozilla.org/MPL/missing.html}. The other important issue is to avoid copyright, patent, or intellectual property violations as are currently (May 2003) being claimed by SCO against IBM. Although the copyright will be held by Kern, each developer is expected to -indicate that he wrote and/or modified a particular module (or file) and any -other sources. The copyright assignment may seem a bit unusual, but in -reality, it is not. Most large projects require this. In fact, the paperwork -associated with making contributions to the Free Software Foundation, was for -me unsurmountable. - -If you have any doubts about this, please don't hesitate to ask. Our (John and -my) track records with Autodesk are easily available; early -programmers/founders/contributors and later employees had substantial shares -of the company, and no one founder had a controlling part of the company. Even -though Microsoft created many millionaires among early employees, the politics -of Autodesk (during our time at the helm) is in stark contrast to Microsoft -where the majority of the company is still tightly held among a few. +indicate that he wrote and/or modified a particular module (or file) and +any other sources. The copyright assignment may seem a bit unusual, but in +reality, it is not. Most large projects require this. In fact, the +paperwork associated with making contributions to the Free Software +Foundation, was for me unsurmountable, so hopefully the rather +simplified procedure we have will not create any difficulties for +you. + +If you have any doubts about this, please don't hesitate to ask. The +objective is to assure the long term servival of the Bacula project. There +is no consideration of personal gain in this request. Our (John and my) +track records with Autodesk are easily available; early +programmers/founders/contributors and later employees had substantial +shares of the company, and no one founder had a controlling part of the +company. Even though Microsoft created many millionaires among early +employees, the politics of Autodesk (during our time at the helm) is in +stark contrast to Microsoft where the majority of the company is still +tightly held among a few. Items not needing a copyright assignment are: most small changes, enhancements, or bug fixes of 5-10 lines of code, and documentation. @@ -94,11 +101,13 @@ enhancements, or bug fixes of 5-10 lines of code, and documentation. Since this is not a commercial enterprise, and I prefer to believe in everyone's good faith, developers can assign the copyright by explicitly -acknowledging that they do so in their first submission. This is sufficient if -the developer is independent, or an employee of a not-for-profit organization -or a university. Any developer that wants to contribute and is employed by a -company must get a copyright assignment from his employer. This is to avoid -misunderstandings between the employee, the company, and the Bacula project. +acknowledging that they do so in their first submission. This is +sufficient if the developer is independent, or an employee of a +not-for-profit organization or a university. Any developer who wants to +contribute and is employed by a company must get a copyright assignment +from his employer. This is to avoid misunderstandings between the +employee, the company, and the Bacula project. A good number of +companies have already followed this procedure. \subsubsection*{Corporate Assignment Statement} \index{Statement!Corporate Assignment} @@ -135,6 +144,11 @@ This release/transfer statement must be sent to: Kern Sibbald Address-to-be-given +If you wish to retain the full rights to use the software you +have contributed in different projects, this is not a problem. Just +request a perpetual non-exclusive license before sending in your +copyright assignment. + \subsection*{Basic CVS Usage} \index{Basic CVS Usage} \index{CVS} @@ -171,8 +185,37 @@ documents (docs). To get the source for a project, you must check it out ("checkout"), which you do usually once. +\subsubsection*{Public CVS Access} +\index{Public CVS Access} +\addcontentsline{toc}{subsubsection}{Public CVS Access} + The first time you checkout the code for each project, you will need to -tell the cvs program where the CVS repository is. You do so by doing: +tell the cvs program where the CVS repository is. The procedure for +checking out code from the public CVS is: + +\begin{verbatim} +cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/bacula login +\end{verbatim} +Then when it prompts for the password for {\bf anonymous}, simply +press the Enter key. The above command is necessary only once +the very first time you login. Then enter the following command: + +\begin{verbatim} +cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/bacula co -P bacula +\end{verbatim} + +The above will place the contents of the bacula module in a directory +named {\bf bacula} in the current directory. This data will come +from the public CVS, which typically runs 6 hours to a day behind the +developer's CVS. Once you have created a copy of the CVS, you can use +the commands listed below under the title CVS Usage. + +\subsubsection*{Developer CVS Access} +\index{Developer CVS Access} +\addcontentsline{toc}{subsubsection}{Developer CVS Access} + +If you are registered as a Bacula developer (contact Kern about this), +you may access the developer's CVS using: \begin{verbatim} export CVS_RSH=ssh @@ -181,7 +224,7 @@ export CVSROOT=:ext:@cvs.bacula.sourceforge.net:/cvsroot/bacula where you replace \lt{}nnnn\gt{} by your Source Forge user name. -Then do +Then do: \begin{verbatim} cvs -z3 checkout -d bacula @@ -191,7 +234,8 @@ where you replace \lt{}directory\gt{} by the name of the directory you want to contain the Bacula source code. If you want the docs, replace the word "bacula" on the above line by "docs" and be sure to put it in a different directory. The -z3 just tells CVS to use compression during -the transmission, which makes things go faster. +the transmission, which makes things go faster. There is no need to +do the anonymous login as is the case for non-developers. The above command should generate output that looks a bit like the following: @@ -205,6 +249,13 @@ U bacula/main.c ... \end{verbatim} +\subsubsection*{CVS Usage} +\index{CVS Usage} +\addcontentsline{toc}{subsubsection}{CVS Usage} + +The commands that follow with the exception of the {\bf commit} +work the same whether you are accessing the public CVS or +the developer's CVS. Let's assume you used the name "bacula" for the directory, so your command was: @@ -335,6 +386,7 @@ I expect that future release schedules will be much the same, and the number of new features will also be much the same providing that the contributions continue to come -- and they show no signs of let up :-) +\index{Feature Requests} {\bf Feature Requests:} \\ In addition, I would like to "formalize" the feature requests a bit. diff --git a/docs/developers/imagename_translations b/docs/developers/imagename_translations index 186c14f0..8cfd734f 100644 --- a/docs/developers/imagename_translations +++ b/docs/developers/imagename_translations @@ -1,2 +1,2 @@ -img2.png./smartall.eps img1.png./bacula-logo.eps +img2.png./smartall.eps diff --git a/docs/developers/platformsupport.tex b/docs/developers/platformsupport.tex new file mode 100644 index 00000000..7e7f8f51 --- /dev/null +++ b/docs/developers/platformsupport.tex @@ -0,0 +1,107 @@ +%% +%% + +\section*{Platform Support} +\label{_PlatformChapter} +\index{Support!Platform} +\index{Platform Support} +\addcontentsline{toc}{section}{Platform Support} + +\subsection*{General} +\index{General } +\addcontentsline{toc}{subsection}{General} + +This chapter describes the requirements for having a +supported platform (Operating System). In general, Bacula is +quite portable. It supports 32 and 64 bit architectures as well +as bigendian and littleendian machines. For full +support, the platform (Operating System) must implement POSIX Unix +system calls. However, for File daemon support only, a small +compatibility library can be written to support almost any +architecture. + +Currently Linux, FreeBSD, and Solaris are fully supported +platforms, which means that the code has been tested on those +machines and passes a full set of regression tests. + +In addition, the Windows File daemon is supported on most versions +of Windows, and finally, there are a number of other platforms +where the File daemon (client) is known to run: NetBSD, OpenBSD, +Mac OSX, SGI, ... + +\subsection*{Requirements to become a Supported Platform} +\index{Requirements!Platform} +\index{Platform Requirements} +\addcontentsline{toc}{subsection}{Platform Requirements} + +As mentioned above, in order to become a fully supported platform, it +must support POSIX Unix system calls. In addition, the following +requirements must be met: + +\begin{itemize} +\item The principal developer (currently Kern) must have + non-root ssh access to a test machine running the platform. +\item The ideal requirements and minimum requirements + for this machine are given below. +\item There must be a defined platform champion who is normally + a system administrator for the machine that is available. This + person need not be a developer/programmer but must be familiar + with system administration of the platform. +\item There must be at least one person designated who will + run regression tests prior to each release. Releases occur + approximately once every 6 months, but can be more frequent. + It takes at most a day's effort to setup the regression scripts + in the beginning, and after that, they can either be run daily + or on demand before a release. Running the regression scripts + involves only one or two command line commands and is fully + automated. +\item Ideally there are one or more persons who will package + each Bacula release. +\item Ideally there are one or more developers who can respond to + and fix platform specific bugs. +\end{itemize} + +Ideal requirements for a test machine: +\begin{itemize} +\item The principal developer will have non-root ssh access to + the test machine at all times. +\item The pricipal developer will have a root password. +\item The test machine will provide approximately 200 MB of + disk space for continual use. +\item The test machine will have approximately 500 MB of free + disk space for temporary use. +\item The test machine will run the most common version of the OS. +\item The test machine will have an autochanger of DDS-4 technology + or later having two or more tapes. +\item The test machine will have MySQL and/or PostgreSQL database + access for account "bacula" available. +\item The test machine will have sftp access. +\item The test machine will provide an smtp server. +\end{itemize} + +Minimum requirements for a test machine: +\begin{itemize} +\item The principal developer will have non-root ssh access to + the test machine when requested approximately once a month. +\item The pricipal developer not have root access. +\item The test machine will provide approximately 80 MB of + disk space for continual use. +\item The test machine will have approximately 300 MB of free + disk space for temporary use. +\item The test machine will run the the OS. +\item The test machine will have a tape drive of DDS-4 technology + or later that can be scheduled for access. +\item The test machine will not have MySQL and/or PostgreSQL database + access. +\item The test machine will have no sftp access. +\item The test machine will provide no email access. +\end{itemize} + +Bare bones test machine requirements: +\begin{itemize} +\item The test machine is available only to a designated + test person (your own machine). +\item The designated test person runs the regession + tests on demand. +\item The test machine has a tape drive available. +\end{itemize} diff --git a/docs/developers/version.tex b/docs/developers/version.tex index 374c904d..1b6a306b 100644 --- a/docs/developers/version.tex +++ b/docs/developers/version.tex @@ -1 +1 @@ -1.38.8 (14 April 2006) +1.38.9 (02 May 2006) diff --git a/docs/home-page/donations.txt b/docs/home-page/donations.txt index f81b6490..9b1e61d5 100644 --- a/docs/home-page/donations.txt +++ b/docs/home-page/donations.txt @@ -1,55 +1,10 @@ Kern;;;2006/04/04;;;12:30 -Bacula is now able to accept direct donations, and as of -04 April 2006, we have received the following: - -Amounts received: - Date Amount: Donor: - 06 Oct 05 $ 50 Ludovic Strappazon - 28 Oct 05 $100 Pontis Corporation, Pavlo Tabashov - 30 Oct 05 $ 20 Jan Kesten - 31 Oct 05 $100 Anonymous - 02 Nov 05 $442 Graphical Data Capture Ltd - 29 Nov 05 $ 65 Jim Barlow - 07 Jan 06 $ 1.95 Bonus from PayPal (I don't know why) - -Payments made: - Amount: To/for: - 06 Jan 06 $100 OSDN (Source Forge) for hosting Bacula - 15 Feb 06 $194.95 VC++ for Scott -=== - -Balance: -Total $451.89 After payments and PayPal fees are deducted - -Many thanks to the above Bacula supporters. +Bacula is now able to accept direct donations. +Please follow the Make a Donation link for more +information. +Many thanks to the many Bacula supporters who +have made donations. ;;; -Kern;;;2005/12/06;;;16:30 -Results to date of donations to EFF for the Data Encryption project -7 December 2005 - Donor: Amount: - WingNET Internet $500 - Timo Neuvonen $250 - Ed Grether $25 - Charles Reinehr $100 - Michael Proto $25 - Phil Cordier $100 - Dan Langille $100 - Tom Plancon $65 - Felix Schwarz $60 - ClarkConnect $500 - Andrew Ford $25 - INetU, Inc $1000 - Jo at Winfix.it $70 - Goal: $3000 Total: $2,820 - -Additional information is available from Landon at: - - http://landonf.bikemonkey.org/code/bacula - -The data encryption project is progressing nicely. Landon has now -integrated his code into the main CVS development branch. - -;;; diff --git a/docs/home-page/inc/header.php b/docs/home-page/inc/header.php index 98b5f073..9b89383a 100644 --- a/docs/home-page/inc/header.php +++ b/docs/home-page/inc/header.php @@ -157,7 +157,9 @@ diff --git a/docs/home-page/pages/maillists.php b/docs/home-page/pages/maillists.php index 6aff2ce5..719c2378 100644 --- a/docs/home-page/pages/maillists.php +++ b/docs/home-page/pages/maillists.php @@ -8,7 +8,7 @@ -Bacula has four email lists which are described below with +Bacula has a number of email lists which are described below with links to subscribe, unsubscribe, or modify your account. For general information on these lists, please see Bacula Mailing Lists at SourceForge. @@ -75,6 +75,17 @@ To subscribe, follow follow the instructions at: http://lists.sourceforge.net/lists/listinfo/bacula-bugs. +

bacula-beta

+The bacula-beta list is a read only +list for those packagers or users who wish to be notified +when a new release is in preparation or is ready. +Please do not send email to this list. + +To subscribe, follow follow the instructions at: + +http://lists.sourceforge.net/lists/listinfo/bacula-beta. + +

bacula-commits

The bacula-commits list is a read only list for those users who wish to be receive a diff of each diff --git a/docs/home-page/pages/makedonation.php b/docs/home-page/pages/makedonation.php index a4b8be9c..cd315f35 100644 --- a/docs/home-page/pages/makedonation.php +++ b/docs/home-page/pages/makedonation.php @@ -51,19 +51,8 @@ portion of travel/conference expenses.

- The project actually has the following needs (approximate costs):
- Three Microsoft Visual C++ licenses: $1500
- Autochanger for FreeBSD testing: $3200
- Autochanger for Solaris testing: $3200
- - If you have licenses or equipment to donate, please don't - hesitate to let me (Kern) know. You may also provide financial - support for these items. - - -

- Contributions may not be US tax deductible as this is a individual - Bacula project account with PayPal. + Contributions may not be US tax deductible as Bacula is + based in Switzerland.

If you are a government or for-profit corporation and cannot make "donations", please consider paying a (non-obligatory) @@ -73,25 +62,6 @@ careful consideration for making a contribution or paying a "license fee". - A reasonable license fee would be: -

- - - - - - -
Number of Machines Fee
1-10 $10 per machine
11-20 $100 + $5.00 per machine over 10
21-50 $150 + $2.00 per machine over 20
51-... $250 + $1.00 per machine over 50
-

Example: 55 machines = $250 + 5 X $1.00 = $255
-

Upgrades are 10% of the original license fee. -

- The above table is just a suggestion. You are, of course, free - to make a larger or smaller contribution as you see fit. - - If you wish your payment to be anonymous, please put the word - ANONYMOUS in the "Payment For:" field on the PayPal - payment form. -

To make a contribution, please click on the donate button at the top of the screen, and your transaction will be secured @@ -107,10 +77,6 @@ you want to contribute, and the project you are supporting (or simply Bacula development). - -

-To see the donations made to date, please click on the -Donations Received menu item to the left of your screen.

diff --git a/docs/home-page/pages/professional.php b/docs/home-page/pages/professional.php index 8fa1cfd6..ce299eec 100644 --- a/docs/home-page/pages/professional.php +++ b/docs/home-page/pages/professional.php @@ -152,7 +152,7 @@ Mats Vilhelmsson
Tel: +46 708 901042

- Backup hosting - internet backups, Bacula traings, installations and support.
+ Backup hosting - Internet backups, Bacula training, installations and support.

http://www.kdb.se
@@ -196,6 +196,36 @@ http://www.matrix-computer.com
+ + +


+ + + + NETWAYS GmbH + + + + NETWAYS GmbH
+ Deutschherrnstrasse 47a
+ 90429 Nürnberg
+ Germany
+
+ Telephone +49 911 92885-0
+ Fax +49 911 92885-77
+
+
+ We support our customers managing complex and + heterogeneous networks. Our services and + solutions, based on Open Source software, help + you run your servers and applications + failure-free. Special focus on Nagios, Bacula, + Request Tracker, and cluster solutions.
http://www.netways.de
+ + + +
diff --git a/docs/home-page/pages/requirements.php b/docs/home-page/pages/requirements.php index d54e2e59..6ede6962 100644 --- a/docs/home-page/pages/requirements.php +++ b/docs/home-page/pages/requirements.php @@ -1,53 +1,56 @@ - + - +
- System Requirements - + System Requirements +
+ -
    -
  • Bacula has been compiled and run on Linux RedHat, FreeBSD, - and Solaris systems.
  • -
  • It requires GNU C++ version 2.95 or higher to compile. You can try - with other compilers and older versions, but you are on your own. - We have successfully compiled and used Bacula on RH8.0/RH9/RHEL 3.0 - with GCC 3.2. Note, in general GNU C++ is a separate package (e.g. - RPM) from GNU C, so you need them both loaded. On RedHat systems, - the C++ compiler is part of the gcc-c++ rpm package.
  • +
      +
    • Bacula has been compiled and run on Linux RedHat, FreeBSD, + and Solaris systems.
    • +
    • It requires GNU C++ version 2.95 or higher to compile. You can try + with other compilers and older versions, but you are on your + own. We have successfully compiled and used Bacula on + RH8.0/RH9/RHEL 3.0 with GCC 3.2. Note, in general GNU C++ is a + separate package (e.g. RPM) from GNU C, so you need them both + loaded. On RedHat systems, the C++ compiler is part of the + gcc-c++ rpm package.
    • -
    • There are certain third party packages that Bacula needs. - Except for MySQL and PostgreSQL, they can all be found in the - depkgs and depkgs1 releases.
    • -
    • If you want to build the Win32 binaries, you will need a - Microsoft Visual C++ compiler (or Visual Studio). - Although all components build (console has - some warnings), only the File daemon has been tested.
    • -
    • Bacula requires a good implementation of pthreads to work. - This is not the case on some of the BSD systems.
    • -
    • The source code has been written with portability in mind and is - mostly POSIX compatible. Thus porting to any POSIX compatible - operating system should be relatively easy.
    • -
    • The GNOME Console program is developed and tested under GNOME 2.x. It - also runs under GNOME 1.4 but this version is deprecated and - thus no longer maintained.
    • +
    • There are certain third party packages that Bacula needs. + Except for MySQL and PostgreSQL, they can all be found in the + depkgs and depkgs1 releases.
    • +
    • If you want to build the Win32 binaries, you will need a + Microsoft Visual C++ compiler (or Visual Studio). + Although all components build (console has + some warnings), only the File daemon has been tested.
    • +
    • Bacula requires a good implementation of pthreads to work. + This is not the case on some of the BSD systems.
    • +
    • The source code has been written with portability in mind and is + mostly POSIX compatible. Thus porting to any POSIX compatible + operating system should be relatively easy.
    • +
    • The GNOME Console program is developed and tested under GNOME 2.x. + It also runs under GNOME 1.4 but this version is deprecated and + thus no longer maintained.
    • -
    • The wxWidgets Console program is developed and tested with the latest - stable version of wxWidgets (2.4.2). - It works fine with the Windows and GTK+-1.x version of wxWidgets, and should - also works on other platforms supported by wxWidgets.
    • -
    • The Tray Monitor program is developed for GTK+-2.x. It needs - Gnome >=2.2, KDE >=3.1 or any window manager supporting the - - FreeDesktop system tray standard.
    • -
    • If you want to enable command line editing and history, you will - need to have /usr/include/termcap.h and either the termcap or the - ncurses library loaded (libtermcap-devel or ncurses-devel).
    • -
    +
  • The wxWidgets Console program is developed and tested with the + latest stable version of wxWidgets (2.6). It + works fine with the Windows and GTK+-1.x version of wxWidgets, + and should also works on other platforms supported by + wxWidgets.
  • +
  • The Tray Monitor program is developed for GTK+-2.x. It needs + Gnome >=2.2, KDE >=3.1 or any window manager supporting the + + FreeDesktop system tray standard.
  • +
  • If you want to enable command line editing and history, you will + need to have /usr/include/termcap.h and either the termcap or the + ncurses library loaded (libtermcap-devel or ncurses-devel).
  • +
-
diff --git a/docs/manual-de/version.tex b/docs/manual-de/version.tex index 374c904d..1b6a306b 100644 --- a/docs/manual-de/version.tex +++ b/docs/manual-de/version.tex @@ -1 +1 @@ -1.38.8 (14 April 2006) +1.38.9 (02 May 2006) diff --git a/docs/manual/dirdconf.tex b/docs/manual/dirdconf.tex index 22bb76ac..4e01443d 100644 --- a/docs/manual/dirdconf.tex +++ b/docs/manual/dirdconf.tex @@ -252,7 +252,7 @@ is not specified, the default will be used. If an ip section is specified, the resolution can be made either by IPv4 or IPv6. If ip4 is specified, then only IPv4 resolutions will be permitted, and likewise with ip6. -Please note that if you use the DirAddresess directive, you must +Please note that if you use the DirAddresses directive, you must not use either a DirPort or a DirAddress directive in the same resource. @@ -652,8 +652,8 @@ For a {\bf Verify} Job, the Level may be one of the following: \label{writebootstrap} \item [Write Bootstrap = \lt{}bootstrap-file-specification\gt{}] -\index[dir]{Write Bootstrape} -\index[dir]{Directive!Write Bootstrape} +\index[dir]{Write Bootstrap} +\index[dir]{Directive!Write Bootstrap} The {\bf writebootstrap} directive specifies a file name where Bacula will write a {\bf bootstrap} file for each Backup job run. Thus this directive applies only to Backup Jobs. If the Backup job is a Full @@ -1179,7 +1179,7 @@ will be sent to the Director. \item [Reschedule On Error = \lt{}yes|no\gt{}] \index[dir]{Reschedule On Error} - \index[dir]{Reschedule On Error} + \index[dir]{Directive!Reschedule On Error} If this directive is enabled, and the job terminates in error, the job will be rescheduled as determined by the {\bf Reschedule Interval} and {\bf Reschedule Times} directives. If you cancel the job, it will not @@ -2718,6 +2718,7 @@ be accessed by the console. \item [CommandACL = \lt{}name-list\gt{}] \index[dir]{CommandACL} + \index[dir]{Directive!CommandACL} This directive is used to specify a list of of console commands that can be executed by the console. \end{description} diff --git a/docs/manual/faq.tex b/docs/manual/faq.tex index 1089ac4a..c30888c8 100644 --- a/docs/manual/faq.tex +++ b/docs/manual/faq.tex @@ -23,17 +23,18 @@ of known bugs and solutions. \subsection*{Does Bacula support Windows?} \item [Does Bacula support Windows?] - \index[general]{Does Bacula support Windows? } - Yes, Bacula compiles and runs on Windows machines (Win98, WinMe, WinXP, - WinNT, and Win2000). We provide a binary version of the Client (bacula-fd), - but have not tested the Director nor the Storage daemon. Note, Win95 is no - longer supported because it doesn't have the GetFileAttributesExA API call. +\index[general]{Does Bacula support Windows? } + Yes, Bacula compiles and runs on Windows machines (Win98, WinMe, WinXP, + WinNT, Win2003, and Win2000). We provide a binary version of the Client + (bacula-fd), but have not tested the Director nor the Storage daemon. + Note, Win95 is no longer supported because it doesn't have the + GetFileAttributesExA API call. \label{lang} \subsection*{What language is Bacula written in?} \item [What language is Bacula written in?] - \index[general]{What language is Bacula written in? } +\index[general]{What language is Bacula written in? } It is written in C++, but it is mostly C code using only a limited set of the C++ extensions over C. Thus Bacula is completely compiled using the C++ compiler. There are several modules, including the Win32 interface, that @@ -44,35 +45,33 @@ of known bugs and solutions. \subsection*{On what machines does Bacula run?} \item [On what machines does Bacula run? ] \index[general]{On what machines does Bacula run? } - {\bf Bacula} builds and executes on RedHat Linux (versions RH7.1-RHEL 3.0, - SuSE, Gentoo, Debian, Mandriva, ...), FreeBSD, Solaris, Alpha, SGI (client), - NetBSD, OpenBSD, Mac OS X (client), and Win32 (client). - - Bacula has been my only backup tool for over four years backing up 5 - machines nightly (3 Linux boxes running RedHat, a WinXP machine, and a WinNT - machine). + {\bf Bacula} builds and executes on RedHat Linux (versions RH7.1-RHEL + 4.0, Fedora, SuSE, Gentoo, Debian, Mandriva, ...), FreeBSD, Solaris, + Alpha, SGI (client), NetBSD, OpenBSD, Mac OS X (client), and Win32 + (client). + + Bacula has been my only backup tool for over five years backing up 7 + machines nightly (5 Linux boxes running Fedora Core, previously + RedHat, a WinXP machine, and a WinNT machine). \label{stable} \subsection*{Is Bacula Stable?} \item [Is Bacula Stable? ] - \index[general]{Is Bacula Stable? } - Yes, it is remarkably stable, but remember, there are still a lot of - unimplemented or partially implemented features. With a program of this size - (100,000+ lines of C++ code not including the SQL programs) there are bound - to be bugs. The current test environment (a twisted pair local network and a - HP DLT backup tape) is not exactly ideal, so additional testing on other -sites is - necessary. The File daemon has never crashed -- running months at a time -with - no intervention. The Storage daemon is remarkably stable with most of the - problems arising during labeling or switching tapes. Storage daemon crashes - are rare. The Director, given the multitude of functions it fulfills is -also - relatively stable. In a production environment, it rarely if ever crashes. Of - the three daemons, the Director is the most prone to having problems. Still, -it - frequently runs several months with no problems. +\index[general]{Is Bacula Stable? } + Yes, it is remarkably stable, but remember, there are still a lot of + unimplemented or partially implemented features. With a program of this + size (140,000+ lines of C++ code not including the SQL programs) there + are bound to be bugs. The current test environment (a twisted pair + local network and a HP DLT backup tape) is not exactly ideal, so + additional testing on other sites is necessary. The File daemon has + never crashed -- running months at a time with no intervention. The + Storage daemon is remarkably stable with most of the problems arising + during labeling or switching tapes. Storage daemon crashes are rare. + The Director, given the multitude of functions it fulfills is also + relatively stable. In a production environment, it rarely if ever + crashes. Of the three daemons, the Director is the most prone to having + problems. Still, it frequently runs several months with no problems. There are a number of reasons for this stability. @@ -84,9 +83,9 @@ it \item All memory leaks (orphaned buffers) are reported each time the program terminates.\\ \item Any signal (segmentation fault, ...) generates a - traceback that is emailed to the developer. This permits quick resolution -of - bugs even if they only show up rarely in a production system.\\ + traceback that is emailed to the developer. This permits quick + resolution of bugs even if they only show up rarely in a production + system.\\ \item There is a reasonably comprehensive set of regression tests that avoids re-creating the most common errors in new versions of Bacula. @@ -227,38 +226,37 @@ where you need to adjust the device name for your system. \label{restorehang} \subsection*{I Run a Restore Job and Bacula Hangs. What do I do?} \item [I Run a Restore Job and Bacula Hangs. What do I do?] - \index[general]{I Run a Restore Job and Bacula Hangs. What do I do? } - On Bacula version 1.25 and prior, it expects you to have the correct tape - mounted prior to a restore. On Bacula version 1.26 and higher, it will ask - you for the tape, and if the wrong one is mounted, it will inform you. +\index[general]{I Run a Restore Job and Bacula Hangs. What do I do? } + On Bacula version 1.25 and prior, it expects you to have the correct + tape mounted prior to a restore. On Bacula version 1.26 and higher, it + will ask you for the tape, and if the wrong one is mounted, it will + inform you. - If you have previously done an {\bf unmount} command, all Storage daemon - sessions (jobs) will be completely blocked from using the drive unmounted, -so - be sure to do a {\bf mount} after your unmount. If in doubt, do a second - {\bf mount}, it won't cause any harm. + If you have previously done an {\bf unmount} command, all Storage daemon + sessions (jobs) will be completely blocked from using the drive + unmounted, so be sure to do a {\bf mount} after your unmount. If in + doubt, do a second {\bf mount}, it won't cause any harm. \label{windowstart} \subsection*{I Cannot Get My Windows Client to Start Automatically? } \item [I Cannot Get My Windows Client to Start Automatically? ] - \index[general]{I Cannot Get My Windows Client to Start Automatically? } - You are probably having one of two problems: either the Client is dying due - to an incorrect configuration file, or you didn't do the Installation - commands necessary to install it as a Windows Service. +\index[general]{Windows Auto Start} + You are probably having one of two problems: either the Client is dying + due to an incorrect configuration file, or you didn't do the + Installation commands necessary to install it as a Windows Service. - For the first problem, see the next FAQ question. For the second problem, - please review the - \ilink{ Windows Installation instructions}{_ChapterStart7} in this - manual. + For the first problem, see the next FAQ question. For the second + problem, please review the \ilink{ Windows Installation + instructions}{_ChapterStart7} in this manual. \label{windowsdie} \subsection*{My Windows Client Immediately Dies When I Start It} -\item [My Windows Client Immediately Dies When I Start It ] -\index[general]{My Windows Client Immediately Dies When I Start It } -The most common problem is either that the configuration file is not where it -expects it to be, or that there is an error in the configuration file. You -must have the configuration file in {\bf -c:\textbackslash{}bacula\textbackslash{}bin\textbackslash{}bacula-fd.conf}. +\item [My Windows Client Immediately Dies When I Start It] +\index[general]{Windows Client Dies} +The most common problem is either that the configuration file is not where +it expects it to be, or that there is an error in the configuration file. +You must have the configuration file in {\bf +c:\textbackslash{}bacula\textbackslash{}bin\textbackslash{}bacula-fd.conf}. To {\bf see} what is going on when the File daemon starts on Windows, do the following: @@ -278,13 +276,12 @@ directory, which you can examine and thereby determine the problem. \label{scroll} \item [When I Start the Console, the Error Messages Fly By. How can I see them? ] - \index[general]{When I Start the Console, the Error Messages Fly By. How can -I see them? } - Either use a shell window with a scroll bar, or use the gnome-console. In -any - case, you probably should be logging all output to a file, and then you can - simply view the file using an editor or the {\bf less} program. To log all - output, I have the following in my Director's Message resource definition: +\index[general]{Error Messages} + Either use a shell window with a scroll bar, or use the gnome-console. + In any case, you probably should be logging all output to a file, and + then you can simply view the file using an editor or the {\bf less} + program. To log all output, I have the following in my Director's + Message resource definition: \footnotesize \begin{verbatim} @@ -299,11 +296,9 @@ system. \label{nobackup} \subsection*{My backups are not working on my Windows Client. What should I do?} - \item [I didn't realize that the backups were not working on my Windows Client. What should I do? ] -\index[general]{I didn't realize that the backups were not working on my Windows -Client. What should I do? } +\index[general]{Backups Failing} You should be sending yourself an email message for each job. This will avoid the possibility of not knowing about a failed backup. To do so put something like: @@ -315,9 +310,9 @@ like: \end{verbatim} \normalsize -in your Director's message resource. You should then receive one email for -each Job that ran. When you are comfortable with what is going on (it took me -9 months), you might change that to: +in your Director's message resource. You should then receive one email for +each Job that ran. When you are comfortable with what is going on (it took +me 9 months), you might change that to: \footnotesize \begin{verbatim} @@ -338,35 +333,34 @@ FAQ for how to do so. \item [All my Jobs are scheduled for the same time. Will this cause problems? ] \index[general]{Schedule problems} - No, not at all. Bacula will schedule all the Jobs at the same time, but will - run them one after another unless you have increased the number of - simultaneous jobs in the configuration files for the Director, the File - daemon, and the Storage daemon. The appropriate configuration record is {\bf - Maximum Concurrent Jobs = nn}. At the current time, we recommend that you - leave this set to {\bf 1} for the Director. + No, not at all. Bacula will schedule all the Jobs at the same time, but + will run them one after another unless you have increased the number of + simultaneous jobs in the configuration files for the Director, the File + daemon, and the Storage daemon. The appropriate configuration record is + {\bf Maximum Concurrent Jobs = nn}. At the current time, we recommend + that you leave this set to {\bf 1} for the Director. \label{disk} \subsection*{Can Bacula Backup My System To Files instead of Tape?} \item [Can Bacula Backup My System To Files instead of Tape? ] - \index[general]{Can Bacula Backup My System To Files instead of Tape? } - Yes, in principle, Bacula can backup to any storage medium as long as you - have correctly defined that medium in the Storage daemon's Device resource. - For an example of how to backup to files, please see the - \ilink{Pruning Example}{PruningExample} in the Recycling - chapter of this manual. Also, there is a whole chapter devoted to - \ilink{Basic Volume Management}{_ChapterStart39}. This chapter was - originally written to explain how to write to disk, but was expanded - to include volume management. It is, however, still quite a good - chapter to read. +\index[general]{Backup to Disk} + Yes, in principle, Bacula can backup to any storage medium as long as + you have correctly defined that medium in the Storage daemon's Device + resource. For an example of how to backup to files, please see the + \ilink{Pruning Example}{PruningExample} in the Recycling chapter of this + manual. Also, there is a whole chapter devoted to \ilink{Basic Volume + Management}{_ChapterStart39}. This chapter was originally written to + explain how to write to disk, but was expanded to include volume + management. It is, however, still quite a good chapter to read. \label{bigfiles} \subsection*{Can Bacula Backup and Restore Files Greater than 2 Gigabytes?} \item [Can Bacula Backup and Restore Files Greater than 2 Gigabytes in Size? ] \index[general]{Large file support} -If your operating system permits it, and you are running Bacula version 1.26 -or later, the answer is yes. To the best of our knowledge all client system -supported by Bacula can handle files larger than 2 Gigabytes. +If your operating system permits it, and you are running Bacula version +1.26 or later, the answer is yes. To the best of our knowledge all client +system supported by Bacula can handle files larger than 2 Gigabytes. \label{cancel} \subsection*{I want to stop a job. Is @@ -374,13 +368,12 @@ supported by Bacula can handle files larger than 2 Gigabytes. \item [I Started A Job then Decided I Really Did Not Want to Run It. Is there a better way than {\bf ./bacula stop} to stop it?] \index[general]{Cancelling jobs} - Yes, - you normally should use the Console command {\bf cancel} to cancel a Job - that is either scheduled or running. If the Job is scheduled, it will - be marked for cancellation and will be canceled when it is scheduled to - start. If it is running, it will normally terminate after a few - minutes. If the Job is waiting on a tape mount, you may need to do a - {\bf mount} command before it will be canceled. + Yes, you normally should use the Console command {\bf cancel} to cancel + a Job that is either scheduled or running. If the Job is scheduled, it + will be marked for cancellation and will be canceled when it is + scheduled to start. If it is running, it will normally terminate after + a few minutes. If the Job is waiting on a tape mount, you may need to + do a {\bf mount} command before it will be canceled. \label{trademark} \subsection*{Why have You Trademarked the Name @@ -409,8 +402,8 @@ please use the one distributed in the source code. \label{sure} \subsection*{Does Bacula really save and restore all files?} \item [How Can I Be Sure that Bacula Really Saves and Restores All Files? ] - \index[general]{How Can I Be Sure that Bacula Really Saves and Restores - All Files? } It is really quite simple, but took me a while to figure +\index[general]{Checking Restores} + It is really quite simple, but took me a while to figure out how to "prove" it. First make a Bacula Rescue disk, see the \ilink{Disaster Recovery Using Bacula}{_ChapterRescue} chapter of this manual. @@ -433,9 +426,8 @@ please use the one distributed in the source code. \subsection*{I want an Incremental but Bacula runs it as a Full backup. Why?} \item [I did a Full backup last week, but now in running an Incremental, Bacula says it did not find a FULL backup, so it did a FULL backup. Why?] - \index[general]{I did a Full backup last week, but now in running an - Incremental, Bacula says it did not find a FULL backup, so it did a - FULL backup. Why? } Before doing an Incremental or a Differential +\index[general]{FULL backup not found} + Before doing an Incremental or a Differential backup, Bacula checks to see if there was a prior Full backup of the same Job that terminated successfully. If so, it uses the date that full backup started as the time for comparing if files have changed. If @@ -457,13 +449,12 @@ please use the one distributed in the source code. \subsection*{Do you really handle unlimited path lengths?} \item [How Can You Claim to Handle Unlimited Path and Filename Lengths when All Other Programs Have Fixed Limits?] - \index[general]{How Can You Claim to Handle Unlimited Path and Filename - Lengths when All Other Programs Have Fixed Limits? } Most of those - other programs have been around for a long time, in fact since the - beginning of Unix, which means that they were designed for rather small - fixed length path and filename lengths. Over the years, these - restrictions have been relaxed allowing longer names. Bacula on the - other hand was designed in 2000, and so from the start, Path and +\index[general]{Path and Filename Lengths} + Most of those other programs have been around for a long time, in fact + since the beginning of Unix, which means that they were designed for + rather small fixed length path and filename lengths. Over the years, + these restrictions have been relaxed allowing longer names. Bacula on + the other hand was designed in 2000, and so from the start, Path and Filenames have been kept in buffers that start at 256 bytes in length, but can grow as needed to handle any length. Most of the work is carried out by lower level routines making the coding rather easy. @@ -475,14 +466,14 @@ please use the one distributed in the source code. \label{unique} \subsection*{What Is the Really Unique Feature of Bacula?} \item [What Is the Really Unique Feature of Bacula?] - \index[general]{What Is the Really Unique Feature of Bacula? } Well, it - is hard to come up with unique features when backup programs for Unix - machines have been around since the 1960s. That said, I believe that - Bacula is the first and only program to use a standard SQL interface to - catalog its database. Although this adds a bit of complexity and - possibly overhead, it provides an amazingly rich set of features that - are easy to program and enhance. The current code has barely scratched - the surface in this regard (version 1.31). +\index[general]{Unique Feature of Bacula} + Well, it is hard to come up with unique features when backup programs + for Unix machines have been around since the 1960s. That said, I + believe that Bacula is the first and only program to use a standard SQL + interface to catalog its database. Although this adds a bit of + complexity and possibly overhead, it provides an amazingly rich set of + features that are easy to program and enhance. The current code has + barely scratched the surface in this regard (version 1.38). The second feature, which gives a lot of power and flexibility to Bacula is the Bootstrap record definition. @@ -495,8 +486,7 @@ please use the one distributed in the source code. \subsection*{How can I force one job to run after another?} \item [If I Run Multiple Simultaneous Jobs, How Can I Force One Particular Job to Run After Another Job? ] -\index[general]{If I Run Multiple Simultaneous Jobs, How Can I Force One -Particular Job to Run After Another Job? } +\index[general]{Multiple Simultaneous Jobs} Yes, you can set Priorities on your jobs so that they run in the order you specify. Please see: \ilink{the Priority record}{Priority} in the Job resource. @@ -504,20 +494,17 @@ specify. Please see: \label{nomail} \subsection*{I Am Not Getting Email Notification, What Can I Do? } \item [I Am Not Getting Email Notification, What Can I Do? ] - -\index[general]{I Am Not Getting Email Notification, What Can I Do? } -The most common problem is that you have not specified a fully qualified -email address and your bsmtp server is rejecting the mail. The next most -common problem is that your bsmtp server doesn't like the syntax on the From -part of the message. For more details on this and other problems, please see -the -\ilink{ Getting Email Notification to Work}{email} section of the -Tips chapter of this manual. The section -\ilink{ Getting Notified of Job Completion}{notification} of the Tips -chapter may also be useful. For more information on the {\bf bsmtp} mail -program, please see -\ilink{bsmtp in the Volume Utility Tools chapter}{bsmtp} of this -manual. +\index[general]{No Email Notification} + The most common problem is that you have not specified a fully qualified + email address and your bsmtp server is rejecting the mail. The next + most common problem is that your bsmtp server doesn't like the syntax on + the From part of the message. For more details on this and other + problems, please see the \ilink{ Getting Email Notification to + Work}{email} section of the Tips chapter of this manual. The section + \ilink{ Getting Notified of Job Completion}{notification} of the Tips + chapter may also be useful. For more information on the {\bf bsmtp} + mail program, please see \ilink{bsmtp in the Volume Utility Tools + chapter}{bsmtp} of this manual. \label{periods} \subsection*{My retention periods don't work} @@ -549,10 +536,9 @@ manual. the tape drive hardware, and you either enable or disable it with system tools such as {\bf mt}. This compression works independently of Bacula. - Bacula also has compression code, which is normally used only when backing -up - to file Volumes. There are two conditions for this "software" to become - enabled. + Bacula also has compression code, which is normally used only when + backing up to file Volumes. There are two conditions for this + "software" to become enabled. \begin{enumerate} \item You must have the zip development libraries loaded on your system when @@ -597,14 +583,13 @@ I/O \subsection*{Incremental backups are not working} \item [Bacula is Not Doing the Right Thing When I Request an Incremental Backup. Why?] - \index[general]{Incremental backups} - As explained in one of the previous questions, Bacula will automatically - upgrade an Incremental or Differential job to a Full backup if it cannot -find - a prior Full backup or a suitable Full backup. For the gory details on - how/when Bacula decides to upgrade levels please see the - \ilink{Level record}{Level} in the Director's configuration - chapter of this manual. +\index[general]{Incremental backups} + As explained in one of the previous questions, Bacula will automatically + upgrade an Incremental or Differential job to a Full backup if it cannot + find a prior Full backup or a suitable Full backup. For the gory + details on how/when Bacula decides to upgrade levels please see the + \ilink{Level record}{Level} in the Director's configuration chapter of + this manual. If after reading the above mentioned section, you believe that Bacula is not correctly handling the level (Differential/Incremental), please send us the @@ -631,15 +616,12 @@ there is not much we can do. \subsection*{I am waiting forever for a backup of an offsite machine} \item [I am Backing Up an Offsite Machine with an Unreliable Connection. The Director Waits Forever for the Client to Contact the SD. What Can I -Do?] - \index[general]{I am Backing Up an Offsite Machine with an Unreliable -Connection. - The Director Waits Forever for the Client to Contact the SD. What Can I Do?} - Bacula was written on the assumption that it will have a good TCP/IP - connection between all the daemons. As a consequence, the current Bacula - doesn't deal with faulty connections very well. This situation is slowly -being - corrected over time. + Do?] +\index[general]{Backing Up Offsite Machines} + Bacula was written on the assumption that it will have a good TCP/IP + connection between all the daemons. As a consequence, the current + Bacula doesn't deal with faulty connections very well. This situation + is slowly being corrected over time. There are several things you can do to improve the situation. @@ -662,14 +644,12 @@ in the FileDaemon resource. \subsection*{SSH hangs forever after starting Bacula} \item [When I ssh into a machine and start Bacula then attempt to exit, ssh hangs forever.] - \index[general]{When I ssh into a machine and start Bacula then attempt to -exit, - ssh hangs forever. } - This happens because Bacula leaves stdin, stdout, and stderr open for debug - purposes. To avoid it, the simplest thing to do is to redirect the output of - those files to {\bf /dev/null} or another file in your startup script (the - RedHat autostart scripts do this automatically). For example, you start the - Director with: +\index[general]{ssh hangs} + This happens because Bacula leaves stdin, stdout, and stderr open for + debug purposes. To avoid it, the simplest thing to do is to redirect + the output of those files to {\bf /dev/null} or another file in your + startup script (the RedHat autostart scripts do this automatically). + For example, you start the Director with: \footnotesize \begin{verbatim} @@ -684,36 +664,30 @@ and likewise for the other daemons. \subsection*{I'm confused by retention periods} \item [I'm confused by the different Retention periods: File Retention, Job Retention, Volume Retention. Why are there so many?] - \index[general]{I'm confused by the different Retention periods: File -Retention, - Job Retention, Volume Retention. Why are there so many? } - Yes, this certainly can be confusing. The basic reason for so many is to - allow flexibility. The File records take quite a lot of space in the -catalog, - so they are typically records you want to remove rather quickly. The Job - records, take very little space, and they can be useful even without the -File - records to see what Jobs actually ran and when. One must understand that if - the File records are removed from the catalog, you cannot use the {\bf - restore} command to restore an individual file since Bacula no longer knows - where it is. However, as long as the Volume Retention period has not -expired, - the data will still be on the tape, and can be recovered from the tape. +\index[general]{Retention Periods} + Yes, this certainly can be confusing. The basic reason for so many is + to allow flexibility. The File records take quite a lot of space in the + catalog, so they are typically records you want to remove rather + quickly. The Job records, take very little space, and they can be + useful even without the File records to see what Jobs actually ran and + when. One must understand that if the File records are removed from the + catalog, you cannot use the {\bf restore} command to restore an + individual file since Bacula no longer knows where it is. However, as + long as the Volume Retention period has not expired, the data will still + be on the tape, and can be recovered from the tape. - For example, I keep a 30 day retention period for my Files to keep my -catalog - from getting too big, but I keep my tapes for a minimum of one year, just in - case. + For example, I keep a 30 day retention period for my Files to keep my + catalog from getting too big, but I keep my tapes for a minimum of one + year, just in case. \label{MaxVolumeSize} \subsection*{MaxVolumeSize is ignored} \item [Why Does Bacula Ignore the MaxVolumeSize Set in my Pool?] - \index[general]{Why Does Bacula Ignore the MaxVolumeSize Set in my Pool? } - The MaxVolumeSize that Bacula uses comes from the Media record, so most - likely you changed your Pool, which is used as the default for creating -Media - records, {\bf after} you created your Volume. Check what is in the Media - record by doing: +\index[general]{MaxVolumeSize} + The MaxVolumeSize that Bacula uses comes from the Media record, so most + likely you changed your Pool, which is used as the default for creating + Media records, {\bf after} you created your Volume. Check what is in + the Media record by doing: \footnotesize \begin{verbatim} @@ -735,11 +709,9 @@ to change it. \subsection*{I get a Connection refused when connecting to my Client} \item [In connecting to my Client, I get "ERR:Connection Refused. Packet Size too big from File daemon:192.168.1.4:9102" Why?] - \index[general]{In connecting to my Client, I get "ERR:Connection -Refused. - Packet Size too big from File daemon:192.168.1.4:9102" Why? } +\index[general]{ERR:Connection Refused} This is typically a communications error resulting from one of the -following: + following: \begin{itemize} @@ -769,8 +741,8 @@ directory, which you can examine to determine the problem. \subsection*{Long running jobs die with Pipe Error} \item [During long running jobs my File daemon dies with Pipe Error, or some other communications error. Why?] - \index[general]{Communications Errors} - \index[general]{Pipe Errors} +\index[general]{Communications Errors} +\index[general]{Pipe Errors} There are a number of reasons why a connection might break. Most often, it is a router between your two computers that times out inactive lines (not respecting the keepalive feature that Bacula uses). diff --git a/docs/manual/install.tex b/docs/manual/install.tex index 3d6b8c71..317c1305 100644 --- a/docs/manual/install.tex +++ b/docs/manual/install.tex @@ -259,7 +259,15 @@ continue on. To correct it, make sure that you have not added {\bf {-}{-}enable-static-tools} to the {\bf ./configure} command. + If you skip this step ({\bf make}) and proceed immediately to the {\bf + make install} you are making two serious errors: 1. your install will + fail because Bacula requires a {\bf make} before a {\bf make install}. + 2. you are depriving yourself of the chance to make sure there are no + errors before beginning to write files to your system directories. + + \item make install + \item If you are new to Bacula, we {\bf strongly} recommend that you skip the next step and use the default configuration files, then run the diff --git a/docs/manual/recycling.tex b/docs/manual/recycling.tex index b83402f5..2dad20fb 100644 --- a/docs/manual/recycling.tex +++ b/docs/manual/recycling.tex @@ -368,6 +368,30 @@ update} and Bacula will prompt you for the information. In this case, {\bf File0001} will never be automatically recycled. The same effect can be achieved by setting the Volume Status to Read-Only. +As you have noted, the Volume Status (VolStatus) colume in the +catalog database contains the current status of the Volume, which +is normally maintained automatically by Bacula. To give you an +idea of some of the values it can take during the life cycle of +a Volume, here is a picture created by Arno Lehmann: + +\footnotesize +\begin{verbatim} +A typical volume life cycle is like this: + + because job count or size limit exceeded + Append ----------------------------------------> Used + ^ | + | First Job writes to Retention time passed | + | the volume and recycling takes | + | place | + | v + Recycled <-------------------------------------- Purged + Volume is selected for reuse + +\end{verbatim} +\normalsize + + \subsection*{Making Bacula Use a Single Tape} \label{singletape} \index[general]{Tape!Making Bacula Use a Single} diff --git a/docs/manual/translate_images.pl b/docs/manual/translate_images.pl index 69395fe4..c7225118 100755 --- a/docs/manual/translate_images.pl +++ b/docs/manual/translate_images.pl @@ -30,34 +30,34 @@ my $path; # latex2html has used as the source to create the imgxx.png filename. # The filename extension is taken from the file sub read_transfile { - my ($trans,$direction) = @_; - - if (!open IN,"<$path$TRANSFILE") { - print "WARNING: Cannot open image translation file $path$TRANSFILE for reading\n"; - print " Image filename translation aborted\n\n"; - exit 0; - } - - while () { - chomp; - my ($new,$old) = split(/\001/); - - # Old filenames will usually have a leading ./ which we don't need. - $old =~ s/^\.\///; - - # The filename extension of the old filename must be made to match - # the new filename because it indicates the encoding format of the image. - my ($ext) = $new =~ /(\.[^\.]*)$/; - $old =~ s/\.[^\.]*$/$ext/; - if ($direction == 0) { - $trans->{$new} = $old; - } else { - $trans->{$old} = $new; - } - } - close IN; + my ($trans,$direction) = @_; + + if (!open IN,"<$path$TRANSFILE") { + print "WARNING: Cannot open image translation file $path$TRANSFILE for reading\n"; + print " Image filename translation aborted\n\n"; + exit 0; + } + + while () { + chomp; + my ($new,$old) = split(/\001/); + + # Old filenames will usually have a leading ./ which we don't need. + $old =~ s/^\.\///; + + # The filename extension of the old filename must be made to match + # the new filename because it indicates the encoding format of the image. + my ($ext) = $new =~ /(\.[^\.]*)$/; + $old =~ s/\.[^\.]*$/$ext/; + if ($direction == 0) { + $trans->{$new} = $old; + } else { + $trans->{$old} = $new; + } + } + close IN; } - + # Translates the image names in the file given as the first argument, according to # the translations in the hash that is given as the second argument. # The file contents are read in entirely into a string, the string is processed, and @@ -68,73 +68,73 @@ sub read_transfile { # Links to other files are added to the %filelist for processing. That way, # all linked files will be processed (assuming they are local). sub translate_html { - my ($filename,$trans,$filelist) = @_; - my ($contents,$out,$this,$img,$dest); - my $cnt = 0; - - # If the filename is an external link ignore it. And drop any file:// from - # the filename. - $filename =~ /^(http|ftp|mailto)\:/ and return 0; - $filename =~ s/^file\:\/\///; - # Load the contents of the html file. - if (!open IF,"<$path$filename") { - print "WARNING: Cannot open $path$filename for reading\n"; - print " Image Filename Translation aborted\n\n"; - exit 0; - } - - while () { - $contents .= $_; - } - close IF; - - # Now do the translation... - # First, search for an image filename. - while ($contents =~ /\<\s*IMG[^\>]*SRC=\"/si) { - $contents = $'; - $out .= $` . $&; - - # The next thing is an image name. Get it and translate it. - $contents =~ /^(.*?)\"/s; - $contents = $'; - $this = $&; - $img = $1; - # If the image is in our list of ones to be translated, do it - # and feed the result to the output. - $cnt += $this =~ s/$img/$trans->{$img}/ if (defined($trans->{$img})); - $out .= $this; - } - $out .= $contents; - - # Now send the translated text to the html file, overwriting what's there. - open OF,">$path$filename" or die "Cannot open $path$filename for writing\n"; - print OF $out; - close OF; - - # Now look for any links to other files and add them to the list of files to do. - while ($out =~ /\<\s*A[^\>]*HREF=\"(.*?)\"/si) { - $out = $'; - $dest = $1; - # Drop an # and anything after it. - $dest =~ s/\#.*//; - $filelist->{$dest} = '' if $dest; - } - return $cnt; + my ($filename,$trans,$filelist) = @_; + my ($contents,$out,$this,$img,$dest); + my $cnt = 0; + + # If the filename is an external link ignore it. And drop any file:// from + # the filename. + $filename =~ /^(http|ftp|mailto)\:/ and return 0; + $filename =~ s/^file\:\/\///; + # Load the contents of the html file. + if (!open IF,"<$path$filename") { + print "WARNING: Cannot open $path$filename for reading\n"; + print " Image Filename Translation aborted\n\n"; + exit 0; + } + + while () { + $contents .= $_; + } + close IF; + + # Now do the translation... + # First, search for an image filename. + while ($contents =~ /\<\s*IMG[^\>]*SRC=\"/si) { + $contents = $'; + $out .= $` . $&; + + # The next thing is an image name. Get it and translate it. + $contents =~ /^(.*?)\"/s; + $contents = $'; + $this = $&; + $img = $1; + # If the image is in our list of ones to be translated, do it + # and feed the result to the output. + $cnt += $this =~ s/$img/$trans->{$img}/ if (defined($trans->{$img})); + $out .= $this; + } + $out .= $contents; + + # Now send the translated text to the html file, overwriting what's there. + open OF,">$path$filename" or die "Cannot open $path$filename for writing\n"; + print OF $out; + close OF; + + # Now look for any links to other files and add them to the list of files to do. + while ($out =~ /\<\s*A[^\>]*HREF=\"(.*?)\"/si) { + $out = $'; + $dest = $1; + # Drop an # and anything after it. + $dest =~ s/\#.*//; + $filelist->{$dest} = '' if $dest; + } + return $cnt; } - + # REnames the image files spefified in the %translate hash. sub rename_images { - my $translate = shift; - my ($response); - - foreach (keys(%$translate)) { - if (! $translate->{$_}) { - print " WARNING: No destination Filename for $_\n"; - } else { - $response = `mv -f $path$_ $path$translate->{$_} 2>&1`; - $response and print "ERROR from system $response\n"; - } - } + my $translate = shift; + my ($response); + + foreach (keys(%$translate)) { + if (! $translate->{$_}) { + print " WARNING: No destination Filename for $_\n"; + } else { + $response = `mv -f $path$_ $path$translate->{$_} 2>&1`; + $response and print "ERROR from system $response\n"; + } + } } ################################################# @@ -152,7 +152,7 @@ my ($cnt,$direction); my $arg0 = shift(@ARGV); $arg0 =~ /^(--to_meaningful_names|--from_meaningful_names)$/ or - die "ERROR: First argument must be either \'--to_meaningful_names\' or \'--from_meaningful_names\'\n"; + die "ERROR: First argument must be either \'--to_meaningful_names\' or \'--from_meaningful_names\'\n"; $direction = ($arg0 eq '--to_meaningful_names') ? 0 : 1; @@ -166,20 +166,20 @@ $path = '' unless $path; read_transfile(\%translate,$direction); foreach (@ARGV) { - # Strip the path from the filename, and use it later on. - if (s/(.*\/)//) { - $path = $1; - } else { - $path = ''; - } - $filelist{$_} = ''; - - while ($thisfile = (keys(%filelist))[0]) { - $cnt += translate_html($thisfile,\%translate,\%filelist) if (!exists($completed{$thisfile})); - delete($filelist{$thisfile}); - $completed{$thisfile} = ''; - } - print "translate_images.pl: $cnt image filenames translated ",($direction)?"from":"to"," meaningful names\n"; + # Strip the path from the filename, and use it later on. + if (s/(.*\/)//) { + $path = $1; + } else { + $path = ''; + } + $filelist{$_} = ''; + + while ($thisfile = (keys(%filelist))[0]) { + $cnt += translate_html($thisfile,\%translate,\%filelist) if (!exists($completed{$thisfile})); + delete($filelist{$thisfile}); + $completed{$thisfile} = ''; + } + print "translate_images.pl: $cnt image filenames translated ",($direction)?"from":"to"," meaningful names\n"; } rename_images(\%translate); diff --git a/docs/manual/version.tex b/docs/manual/version.tex index 374c904d..1b6a306b 100644 --- a/docs/manual/version.tex +++ b/docs/manual/version.tex @@ -1 +1 @@ -1.38.8 (14 April 2006) +1.38.9 (02 May 2006)