%%
%%

\chapter{Bacula installieren}
\label{InstallChapter}
\index[general]{Installation!von Bacula }
\index[general]{Bacula installieren }

Normalerweise ben\"{o}tigen Sie ein Release mit Baculas Quellcode und, wenn ein Windows-Client benutzt werde soll, ein ausf\"{u}hrbares Release von Bacula f\"{u}r Windows. Entprechend Ihrer Konfigurationsoptionen ben\"{o}tigt Bacula  bestimmte Pakete von Drittanbietern (wie z.B. {\bf SQLite}, {\bf MySQL} oder {\bf PostgreSQL}) zur Kompilierung. Um Ihnen die Arbeit zu erleichtern, haben wir einige dieser Softwarepakete als zwei {\bf depkgs}-Releases ver\"{o}ffentlicht (Dependency Packages). Dies kann Ihr Leben ungemein erleichtern, da Sie so mit allen notwendigen Pakaten versorgt anstatt gezwungen sind, sie selbst einzeln im Internet zu finden und zu installieren.

\section{Source Release Files}
\index[general]{Source Files}
\index[general]{Release Files}

Seit Baculas Version 1.38.0 ist der Quellcode in vier einzelne Tar-Dateien aufgeteilt, die jeweils einem Modul in Baculas CVS entsprechen. Im einzelnen sind dies:

\begin{description}
\item [bacula-1.38.0.tar.gz]
Dies ist Baculas Quellcode. Mit jedem Release erh\"{o}ht sich die Versionsnummer.

\item [bacula-docs-1.38.0.tar.gz]
Diese Datei enth\"{a}lt eine Kopie des Verzeichnisses der Dokumente im CVS. Einige Dokumente sind vorkompiliert. F\"{u}r Englisch existiert ein HTML-Verzeichnis, ein einzelnes HTML-File und eine PDF-Datei. Die franz\"{o}sische und die deutsche Übersetzung sind in Arbeit, aber nicht kompiliert.

\item [bacula-gui-1.38.0.tar.gz]
Diese Datei enth\"{a}lt grafische Benutzeroberfl\"{a}chen, die nicht Bestandteil des Hauptprogrammes sind. Momentan sind dies ``bacula-web'' zur Generierung von Verwaltungsansichten Ihrer Bacula-Jobs innerhalb eines Web-Browsers und ``bimagemgr'', ein Dateibrowser, der verwendet wird, um aus Bacula-Volumes CD-Images zu brennen.

\item [bacula-rescue-1.8.1.tar.gz]
Dies ist der Code f\"{u}r die Bacula Rettungs-CD. Die Versionsnummer diese Paketes ist nicht an die Versionsummer von Bacula gebunden und wird sich daher unterscheiden. Mit diesem Code k\"{o}nnen Sie eine CD brennen, die unter anderem eine Beschreibung Ihrer Systemkonfiguration und die statisch gelinkte Version des File-D\"{a}mons enth\"{a}lt. Damit k\"{o}nnen Sie im Falle eines Festplattenausfalles mit Hilfe von Bacula Ihre Festplatten neu partitionieren, formatieren und Ihr System auf einfache Art wiederherstellen.

\end{description}


\label{upgrading1}

\section{Bacula upgraden}
\index[general]{Bacula!als Upgrade }
\index[general]{Bacula upgraden }
\index[general]{Upgrade }

Wenn Sie Bacula von einer Version auf die n\"{a}chste upgraden, sollten Sie erst die ReleaseNotes aller Versionen zwischen Ihrer laufenden und jener, auf die sie upgraden wollen, sorgf\"{a}ltig lesen. Wenn die Bacula Catalog-Datenbank upgegraded wurde, m\"{u}ssen Sie entweder ganz von vorne anfangen und Ihre Datenbank neu initialisieren oder diese als ASCII-Datei sichern und dann mit dem Upgrade fortfahren. 
Dies geschieht normalerweise nachdem Bacula kompiliert und installiert ist durch Eingabe von:

\begin{verbatim}
cd <installed-scripts-dir> (default /etc/bacula)
./update_bacula_tables
\end{verbatim}

Dieses Update-Skript finden Sie auch in Baculas Quellcode im Verzeichnis ``src/cats'':

Gab es zwischen Ihrer Version und der aktuellen mehrere Datenbank-Upgrades, werden Sie jedes einzelne Datenbank Upgradeskript ausf\"{u}hren m\"{u}ssen. Um Ihnen dies zu erleichtern, sind alle alten Upgrade-Skripte im Verzeichnis {\bf upgradedb} des Quellcodes. Sie werden diese Skripte den Gegebenheiten Ihrer Systemkonfiguration anpassen m\"{u}ssen. 

Das letzte Upgrade-Skript (wenn vorhanden) wird dann so ausgef\"{u}hrt, wie es oben beschrieben ist.

Wenn Sie von einer Hauptversion auf die n\"{a}chste upgraden, m\"{u}ssen alle Komponenten gleichzeitig ersetzt werden, da sich in der Regel das Übertragungs-Protokoll zwischen den D\"{a}monen \"{a}ndert. Innerhalb eines bestimmten Release (z.B. Version 1.32.x) wird sich das D\"{a}mon-Protokoll jedoch nicht \"{a}ndern solange nicht ein Bug oder ein Versehen zu beheben ist. Wenn das alles f\"{u}r Sie verwirrend ist, lesen Sie einfach die ReleaseNotes sehr sorgf\"{a}ltig. Es wird hier stehen, wenn alle D\"{a}monen gleichzeitig upgegraded werden m\"{u}ssen.

Beachten Sie schlie{\ss}lich, dass es in der Regel nicht notwendig ist, vor dem Upgrade ein {\bf make uninstall} auszuf\"{u}hren. Tats\"{a}chlich werden Sie so sehr wahrscheinlich alle ihre Konfigurationsdateien zerst\"{o}ren, was verheerend sein k\"{o}nnte.
Die normale Upgrade-Prozedur besteht einfach in der Eingabe von {\bf make install}.
Im allgemeinen werden dabei keine Ihrer ``.conf''- oder ``.sql''-Dateien \"{u}berschrieben.

 Weiteres zum Upgraden lesen sie im Abschnitt \ilink{Upgrading Bacula Versions}{upgrading} im Kapitel ``Tips'' in diesem Handbuch.

\section{Dependency-Packages}
\label{Dependency}
\index[general]{Dependency-Packages }
\index[general]{Packages!Dependency }

Wie oben erw\"{a}hnt, haben wir einige Pakete von Drittanbietern, die Bacula m\"{o}glicherweise ben\"{o}tigt, in den Releases {\bf depkgs} und {\bf depkgs1} zusammengefasst. Nat\"{u}rlich k\"{o}nnen Sie sich auch die neuesten Versionen von den Original-Autoren besorgen. Die Quellen der einzelnen Pakete stehen in der README-Datei jedes einzelnen Paketes. Beachten Sie jedoch, dass die Pakete der \textbf{depkgs}-Dateien von uns auf ihre Kompatibilit\"{a}t zu Bacula getestet wurden.

Typischerweise hei{\ss}en die Dependency-Packages {\bf depkgs-ddMMMyy.tar.gz} und
{\bf depkgs1-ddMMyy.tar.gz} wobei {\bf dd} der Tag, {\bf MMM} der Monat in abgek\"{u}rzter Form (z.B. ``Jan'') und  {\bf yy} das Jahr ist, an dem es herausgegeben wurde. Ein aktuelles Beispiel ist: {\bf depkgs-07Apr02.tar.gz}. Um es zu installiern und zu kompilieren (wenn es ben\"{o}tigt wird) gehen Sie wie folgt vor:

\begin{enumerate}
\item Erstellen sie ein {\bf bacula}-Verzeichnis, in das Sie sowohl die Bacula-Quelldateien als auch das Dependency-Packages legen.
\item Entpacken Sie das {\bf depkg} mit ``detar'' in das {\bf bacula}-Verzeichnis.
\item cd bacula/depkgs  
\item make 
   \end{enumerate}

Die genaue Zusanmmensetzung der Dependency-Packages wird sich von Zeit zu Zeit \"{a}ndern. Momentan sehen sie so aus:

\addcontentsline{lot}{table}{Dependency-Packages}
\begin{longtable}{|l|l|l|l|}
 \hline 
\multicolumn{1}{|c| }{\bf Drittanbieterpaket } & \multicolumn{1}{c| }{\bf
depkgs } & \multicolumn{1}{c| }{\bf depkgs1 } & \multicolumn{1}{c| }{\bf
depkgs-win32  } \\
 \hline {SQLite } & \multicolumn{1}{c| }{X } & \multicolumn{1}{c| }{- } &
\multicolumn{1}{c| }{-  } \\
 \hline {mtx } & \multicolumn{1}{c| }{X } & \multicolumn{1}{c| }{- } &
\multicolumn{1}{c| }{-  } \\
 \hline {readline } & \multicolumn{1}{c| }{- } & \multicolumn{1}{c| }{X } &
\multicolumn{1}{c| }{-  } \\
 \hline {pthreads } & \multicolumn{1}{c| }{- } & \multicolumn{1}{c| }{- } &
\multicolumn{1}{c| }{X  } \\
 \hline {zlib } & \multicolumn{1}{c| }{- } & \multicolumn{1}{c| }{- } &
\multicolumn{1}{c| }{X  } \\
 \hline {wxWidgets } & \multicolumn{1}{c| }{- } & \multicolumn{1}{c| }{- } &
\multicolumn{1}{c| }{X }
\\ \hline 

\end{longtable}


Beachten Sie, dass einige dieser Pakete recht umfangreich sind, so dass ihre Compilierung einige Zeit beanspruchen kann. Mit den obigen Anweisungen werden alle Pakete im entsprechenden Verzeichnis kompiliert. Bacula wird allerdings bei seine Kompilierung nur jene Teile verwenden, die es tats\"{a}chlich ben\"{o}tigt.

Alternativ k\"{o}nnen Sie nur jene Pakete kompilieren, die Sie tats\"{a}chlich ben\"{o}tigen. Beispielsweise wird

\footnotesize
\begin{verbatim}
cd bacula/depkgs
make sqlite
\end{verbatim}
\normalsize

nur das ``SQLite''-Paket konfigurieren und kompilieren.

Sie sollten die ben\"{o}tigten Pakete aus {\bf depkgs} und/oder {\bf depkgs1} kompilieren bevor Sie Bacula konfigurieren und kompilieren, da Bacula diese w\"{a}hrend seiner eigenen Kompilierung ben\"{o}tigt.

Auch wenn Sie SQLite nicht verwenden, k\"{o}nnte es sich f\"{u}r Sie lohnen {\bf mtx} zu kompilieren, da das enthaltenen {\bf tapeinfo}-Programm oft wertvolle Informationen \"{u}ber Ihr SCSI-Bandlaufwerk (z.B. Kompression, min./max. Blockgr\"{o}{\ss}e...) liefern kann.

Das {\bf depkgs-win32}-Paket enth\"{a}lt den Qullcode der ``Pthreads''-, ``wxWidgets''- und ``zlib''-Bibliotheken, die das Win32-Clientprogramm verwendet. Man ben\"{o}tigt diese nur, wenn Sie das Win32-Programm selbst kompilieren wollen.

\section{Unterst\"{u}tzte Betriebssysteme}
\label{Systems}
\index[general]{Betriebssysteme!Unterst\"{u}tzte }
\index[general]{Unterst\"{u}tzte Betriebssysteme }

Lesen sie bitte den Abschnitt 
\ilink{Unterst\"{u}tzte Betriebssysteme}{SupportedOSes} im Kapitel
``QuickStart'' dieses Handbuches.

\section{Bacula aus dem Quellcode kompilieren}
\label{Building}
\index[general]{Quellcode!Kompilation von Bacula aus dem }
\index[general]{Bacula aus dem Quellcode kompilieren}

Die Grundinstallation ist ziemlich einfach. 

\begin{enumerate}
\item Installieren und kompilieren sie alle ben\"{o}tgten {\bf depkgs} wie oben beschrieben.
\item Konfigurieren und installieren Sie ``MySQL'' oder ``PostgreSQL'' (wenn gew\"{u}nscht)
\ilink{Installation und Konfiguration von MySQL Phase I}{_ChapterStart} oder
\ilink{Installation und Konfiguration von PostgreSQL Phase I}{_ChapterStart10}.  Wenn Sie f\"{u}r die Installation von ``MySQL'' ein RPM verwenden, m\"{u}ssen Sie auch {\bf mysql-devel} installieren, so dass die Header-Dateien verf\"{u}gbar sind, wenn Sie Bacula kompilieren. Zus\"{a}tzlich erfordert die MySQL Client-Bibliothek die gzip-Kompressionsbibliotheken {\bf libz.a} oder {\bf libz.so}. Wenn Sie RPM-Pakete verwenden, sind diese Bibliotheken im Paket {\bf zlib1g-dev}. Auf Debian-Systemen m\"{u}ssen Sie das {\bf zlib1g-dev}-Paket laden. Wenn Sie weder RPMs noch debs verwenden, m\"{u}ssen Sie die passenden Pakete f\"{u}r Ihr System selbst finden.
Wenn auf Ihrem System schon MySQL oder PostgreSQL l\"{a}uft, k\"{o}nnen Sie diese Phase \"{u}berspringen, wenn Sie ``thread safe''-Bibliotheken kompiliert und die oben erw\"{a}hnten zus\"{a}tzlichen RPMs installiert haben.

\item Anstatt ``MySQL'' und ``PostgreSQL'' k\"{o}nnen Sie auch SQLite konfigurieren und installieren \ilink{Installation und Konfiguration von SQLite}{_ChapterStart33}. Dessen Quellcode ist Teil des {\bf depkgs}-Paketes.
\item Entpacken sie Baculas Quellcode vorzugsweise in das {\bf bacula}-Verzeichnis, welches oben erw\"{a}hnt wurde.  
\item Wechseln ({\bf cd}) Sie in das Verzeichnis mit dem Quellcode.
\item F\"{u}hren Sie \textbf{./configure} aus (mit den entsprechenden Konfigurationsoptionen, die weiter unten n\"{a}her beschrieben sind.
\item Pr\"{u}fen Sie die Ausgabe des \textbf{./configure}-Befehls sehr sorgf\"{a}ltig, besonders die Ausgaben zum Installationsverzeichnis der Programm- und der Konfigurationsdateien. Sind diese nicht korrekt, wiederholen Sie \textbf{./configure} bis sie stimmen. Die Ausgabe des  ./configure-Befehls ist in der Datei {\bf config.out} abgespeichert und kann jederzeit wieder angesehen werden, ohne \textbf{./configure} neu zu starten, indem man {\bf cat config.out} eingibt.
\item Wenn Sie Optionen \"{a}ndern, nachdem \textbf{./configure} gelaufen war und Sie es neu starten m\"{u}ssen, geben Sie vorher das folgende ein.

\footnotesize
\begin{verbatim}
      make distclean
\end{verbatim}
\normalsize

Damit gehen Sie sicher, dass Sie wirklich von vorne anfangen und keine Mischung der verschiedenen Optionen haben. Dies liegt daran, dass \textbf{./configure} einen Gro{\ss}teil der Informationen zwischenspeichert. {\bf make distclean} ist auch sehr wichtig, wenn Sie die Quellverzeichnisse auf einen anderen Rechner verlagern. Schl\"{a}gt der Befehl fehl, ignorieren Sie das einfach und machen mit

\item make  

weiter.

Wenn es hierbei Fehlermeldungen beim Linken in das Verzeichnis (src/stored) des Storage-D\"{a}mon gibt, liegt es vielleicht daran, dass sie die statischen Bibliotheken in Ihrem System nicht geladen sind. Diese Problem bemerkte ich auf einem Solaris-System. Verwenden sie den {\bf ./configure}-Befehl ohne die Option {\bf \verb{--{enable-static-tools} um den Fehler zu beheben.

\item make install  

\item 
Wenn Sie ein Bacula-Neuling sind, empfehlen wir \textbf{dringend}, den n\"{a}chsten Schritt zu \"{u}berspringen und die Vorgabe-Konfigurationsdateien zu verwenden. Probieren Sie damit das Beispiel im n\"{a}chsten Kapitel aus und \"{a}ndern sie danach Ihre Konfigurationsdateien, so dass sie Ihren eigenen Anforderungen entsprechen.

\item Passen Sie die Konfigurationsdateien aller drei D\"{a}monprozesse und die des Console-Programms an. Einzelheiten hierzu im Abschnitt \ilink{Setting Up Bacula Configuration Files}{_ChapterStart16} des Kapitels ``Konfiguration'' in diesem Handbuch. Wir empfehlen Ihnen, an den beigef\"{u}gten Vorgabe-Konfigurationsdateien zun\"{a}chst nur soviel zu \"{a}ndern wie unbedingt notwendig ist. Eine endg\"{u}ltige Anpassung ist immer noch m\"{o}glich, wenn Bacula zuverl\"{a}ssig l\"{a}uft. Passen Sie bitte auf, wenn sie die (zuf\"{a}llig generierten) Passw\"{o}rter und die {\bf Name}n ver\"{a}ndern. Aus Sicherheitsgr\"{u}nden m\"{u}ssen diese in den Konfigurationsdateien \"{u}bereinstimmen.

\item Erzeugen Sie die Datenbank und die Tabellen f\"{u}r Bacula in MySQL (wenn sie MySQL verwenden)(\ilink{MySQL installieren und Konfigurieren Phase II}{mysql_phase2}, in PostgreSQL (\ilink{PostgreSQL installieren und Konfigurieren Phase II}{PostgreSQL_phase2}) oder gegebenenfalls in SQLite (\ilink{SQLite installieren und Konfigurieren Phase II}{phase2}).

\item Starten Sie Bacula ({\bf ./bacula start}). Im n\"{a}chsten Kapitel wird dies im einzelnen erkl\"{a}rt.
\item Kommunizieren Sie mit Bacula \"{u}ber das Console-Programm.

\item Folgen Sie f\"{u}r die letzten beiden Punkte den Anweisungen im Kapitel \ilink{Running Bacula}{_ChapterStart1} diese Handbuches, wo Sie eine einfache Sicherung und eine Wiederherstellung durchf\"{u}hren. Tun Sie dies bevor Sie die Konfiguratinsdateien in gr\"{o}{\ss}erem Umfang ver\"{a}ndern, so dass Sie sicher sein k\"{o}nnen, dass Bacula funktioniert und Sie damit vertraut sind. Danach wird es einfacher sein, die Konfigurationsdateien anzupassen.

\item Wenn Sie nach der Installation beschlie{\ss}en, mit Bacula ``umzuziehen'', d.h. es in anderen Verzeichnissen installieren zu wollen, gehen Sie wie folgt vor:

\footnotesize
\begin{verbatim}
      make uninstall
      make distclean
      ./configure (mit-den-neuen-Optionen)
      make
      make install
\end{verbatim}
\normalsize

\end{enumerate}

Wenn alles gut geht, wird der {\bf ./configure}-Prozess Ihr laufendes Betriebssystem korrekt erkennen und den Quellcode entsprechend konfigurieren. Momentan werden FreeBSD, Linux (Red Hat) und Solaris unterst\"{u}tzt. Von MacOS X 10.3 wird berichtet, dass der Client nur dann darauf l\"{a}uft, wenn die readline-Unterst\"{u}tzung deaktiviert ist.

Wenn Sie Bacula auf mehr als einem System installieren, k\"{o}nnen Sie einfach den Verzeichnisbaum des Quellcodes auf den anderen Rechner \"{u}bertragen und ein ``make install'' ausf\"{u}hren. Gibt es jedoch Unterschiede in den Bibliotheken, den Betriebssystemversionen oder soll es auf einem anderen Betriebssystem installiert werden, sollten Sie mit der originalen tar-Datei beginnen. Wenn Sie die Verzeichnisstruktur des Quellcodes \"{u}bertragen und den ./configure-Befehl schon ausgef\"{u}hrt haben, m\"{u}ssen Sie unbedingt 

\footnotesize
\begin{verbatim}
make distclean
\end{verbatim}
\normalsize

ausf\"{u}hren, bevor Sie ``./configure'' erneut aufrufen. Dies liegt daran, dass ``GNU autoconf'' die Konfiguration zwischenspeichert und wenn Sie beispielsweise die Konfiguration eines Linux-Rechners auf einem Solaris-System wiederverwenden, k\"{o}nnen Sie sicher sein, dass die Kompilierung fehlschl\"{a}gt. Um dies zu vermeiden starten Sie entweder mit der tar-Datei oder f\"{u}hren ``make distclean'' aus, wie oben erw\"{a}hnt.

Gew\"{o}hnlich werden Sie einen etwas komplizierteren {\bf configure}-Befehl absetzen wollen, um sicher zu gehen, dass die von Ihnen gew\"{u}nschten Module kompiliert werden und alles in den richtigen Verzeichnissen abgelegt wird.

Auf RedHat zum Beispiel k\"{o}nnte ``./configure''  so aussehen:

\footnotesize
\begin{verbatim}
CFLAGS="-g -Wall" \
  ./configure \
    --sbindir=$HOME/bacula/bin \
    --sysconfdir=$HOME/bacula/bin \
    --with-pid-dir=$HOME/bacula/bin/working \
    --with-subsys-dir=$HOME/bacula/bin/working \
    --with-mysql=$HOME/mysql \
    --with-working-dir=$HOME/bacula/bin/working \
    --with-dump-email=$USER
\end{verbatim}
\normalsize


Beachten Sie bitte, dass der Vorteil der Verwendung der obigen Konfiguration f\"{u}r den Anfang darin liegt, dass hierbei alles in ein einziges Verzeichnis geschrieben wird, welches sp\"{a}ter gel\"{o}scht werden kann, wenn Sie die Beispiele des n\"{a}chsten Kapitels ausgef\"{u}hrt und gelernt haben wie Bacula funktioniert. Ausserdem kann das Obige auch ohne root-Rechte installiert und ausgef\"{u}hrt werden.

Um den Entwicklern die Arbeit zu erleichtern, haben wir dem Verzeichnis {\bf examples} ein {\bf defaultconfig}-Skript beigef\"{u}gt. Diese Skript enth\"{a}lt alle Statements, die man normalerweise benutzt und jeder Entwickler oder Benutzer kann sie nach seinen Bed\"{u}rfnissen ver\"{a}ndern. In diesem Verzeichnis sind auch andere n\"{u}tzliche Beispiele.

Die  \textbf{./configure}-Schalter {\bf \verb{--{enable-conio} oder {\bf \verb{--{enable-readline} sind n\"{u}tzlich, da man dadurch eine Kommandozeilen-History und ein Editorfunktionen f\"{u}r die Kommandozeile des Console-Programms erh\"{a}lt. Wenn Sie eine dieser Optionen verwenden, ben\"{o}tigen Sie beim Linken entweder das {\bf termcap}- oder das {\bf ncurses}-Paket. Auf manchen Systemen wie z.B. ``SuSE'' ist die termcap-Bibliothek nicht im Verzeichnis der Standard-Bibliotheken. Daher kann diese Option wirkungslos sein oder Sie erhalten folgende Fehlermeldung 

\footnotesize
\begin{verbatim}
/usr/lib/gcc-lib/i586-suse-linux/3.3.1/.../ld:
cannot find -ltermcap
collect2: ld returned 1 exit status
\end{verbatim}
\normalsize

w\"{a}hrend Sie die Bacula-Console kompilieren. In diesem Fall m\"{u}sssen Sie die {\bf
LDFLAGS}-Umgebungsvariable vor der Kompilierung wie folgt setzen:

\footnotesize
\begin{verbatim}
export LDFLAGS="-L/usr/lib/termcap"
\end{verbatim}
\normalsize

Die gleichen Erfordernisse an die Systembibliothek gelten, wenn sie die ``Readline''-Subroutinen f\"{u}r das Editieren und die History der Kommandozeile benutzen wollen oder eine MySQL-Bibliothek, die Verschl\"{u}sselung erfordert. Wenn Sie Verschl\"{u}sselung ben\"{o}tigen, k\"{o}nnen Sie entweder die entsprechenden zus\"{a}tzlichen Bibliotheks-Pfade wie oben gezeigt setzen oder wie unten gezeigt direkt in der Befehlzeile des Befehls mit angeben.

\footnotesize
\begin{verbatim}
LDFLAGS="-lssl -lcyrpto" \
   ./configure \
      <Ihre-Optionen>
\end{verbatim}
\normalsize

Auf manchen Systemen wie Mandriva neigt ``readline'' dazu, die Eingaben zu verst\"{u}mmeln, was es v\"{o}llig unbrauchbar macht. Wenn das bei Ihnen geschieht, w\"{a}hlen Sie die Option ab oder, wenn Sie Version 1.33 oder h\"{o}her verwenden, versuchen Sie mit der Option \verb{--{enable-conio den eingebauten ``readline''-Ersatz zu verwenden. Auch hierzu werden Sie entweder die ``termcap''- oder ``ncurses''-Bibliothek ben\"{o}tigen, doch es ist unwahrscheinlich, dass das {\bf conio}-Paket Ihre Eingaben dann verst\"{u}mmelt.

``readline'' wird ab Version 1.34. nicht weiter unterst\"{u}tzt. Der Code ist noch verf\"{u}gbar und wenn Benutzer daf\"{u}r Patches schicken, wird es mir ein Vergn\"{u}gen sein, diese einzubauen. Da jedoch jede Version von ``readline'' mit den Vorg\"{a}ngerversionen inkompatibel zu sein scheint und zwischen den Systemen wesentliche Unterschiede bestehen, kann ich es mir nicht mehr l\"{a}nger leisten, es zu unterst\"{u}tzen.

\section{Welches Datenbanksystem soll verwendet werden?}
\label{DB}
\index[general]{Welches Datenbanksystem soll verwendet werden? }
\index[general]{verwenden!Welches Datenbanksystem }

Vor der Kompilierung von Bacula m\"{u}ssen Sie sich entscheiden, ob Sie SQLite, MySQL oder
PostgreSQL verwenden werden. Wenn bei Ihnen nicht sowieso schon MySQl oder PostgrSQL l\"{a}uft, empfehlen wir versuchsweise mit SQLite zu beginnen. Dies wird Ihnen die Einrichtung wesentlich erleichtern, da SQLite in Bacula hineinkompiliert wird und keine Administration erfordert. Es hat hat eine ganz ordentliche Performanz und ist f\"{u}r kleine bis mittlere Installationen gut geeignet (maximal 10 bis 20 Rechner).
Allerdings sollten wir erw\"{a}hnen, dass einige unserer Benutzer mit SQLite unerkl\"{a}rliche Datenbankkorruptionen hatten. F\"{u}r ein Produktiv-System empfehlen wir daher die Installation von MySQL oder PostgreSQL:

Wenn Sie f\"{u}r den Bacula-Catalog MySQL verwenden wollen, lesen Sie bitte das Kapitel \ilink{MySQL installieren und konigurieren}{_ChapterStart} in diesem Handbuch. Sie werden hierzu MySQL installieren m\"{u}ssen, bevor Sie Bacula konfigurieren. MySQL ist ein Datenbanksystem von hoher Qualit\"{a}t, das sehr effizient arbeitet und f\"{u}r Installationen jeder Gr\"{o}{\ss}e geeignet ist. Seine Einrichtung und Administration sind ein wenig komplizierter als die von SQLite, da es einige Besonderheiten wie userids und Passw\"{o}rter bietet. Es l\"{a}uft als eigenst\"{a}ndiger Prozess, ist wirklich professionell und kommt mit Datenbanken jeder Gr\"{o}{\ss}e zurecht.

Wenn Sie PostgreSQL als Bacula-Catalog verwenden wollen, lesen Sie bitte das Kapitel \ilink{PostgreSQL installieren und konfigurieren}{_ChapterStart10} in diesem Handbuch. Bevor Bacula konfiguriert wird, muss PostgreSQl installiert sein. Es ist MySQL sehr \"{a}hnlich, dabei aber eher etwas mehr SQL92-kompatibel und hat viele Features wie ``Transaktionen'', ``Stored Procedures'' und \"{a}hnliches. Man braucht eine gewisses Erfahrung, um es zu installieren und zu warten.

Wenn Sie als Bacula Catalog SQLite verwenden wollen, lesen Sie bitte das Kapitel \ilink{SQLite installieren und konfigurieren}{_ChapterStart33} in diesem Handbuch.

\section{Quick Start}
\index[general]{Quick Start }
\index[general]{Start!Quick }

Unten werden nun einige Optionen und wichtige Vor\"{u}berlegungen ausgef\"{u}hrt, die Sie jedoch f\"{u}r den Moment \"{u}berspringen k\"{o}nnen, wenn Sie mit der vereinfachten Konfiguration, wie sie oben gezeigt wurde, keine Probleme hatten.

Falls der ``./configure''-Prozess bestimmte Bibliotheken (z.B. ``libintl'') nicht findet, vergewissern Sie sich, dass das entsprechende Paket auf Ihrem Rechner installiert ist. Wenn das Paket an einem Ort installiert ist, denn Bacula nicht erwartet, kann in der Regel mit einem der im Folgenden aufgef\"{u}hrten Optionsschalter ein Suchpfad \"{u}bergeben werden. "./configure {-}{-}help" liefert eine Liste aller Optionen. Das letzte Mittel ist, ein Feature durch einen entsprechenden Optionschalter zu deaktivieren (z.B. ``{-}{-}disable-nls'').

Wenn Sie richtig loslegen wollen, empfehlen wir, zum n\"{a}chsten Kapitel weitergehen und das Beispielprogramm zum Laufen zu bringen. Es wird Sie viel \"{u}ber Bacula lehren und kann zum Ausprobieren in ein einzelnes Verzeichnis installiert (um es auf einfache Art wieder l\"{o}schen zu k\"{o}nnen) und ohne root-Rechte betrieben werden. Wenn irgendwelche Probleme auftreten oder Sie richtig installieren wollen, kehren Sie zu diesem Kapitel zur\"{u}ck und lesen Sie die Einzelheiten, die nun folgen.

\section{Konfigurationsoptionen}
\label{Options}
\index[general]{Optionen!der Konfiguration }
\index[general]{Konfigurationsoptionen }

Um Ihre Installation anzupassen, hat der {\bf configure}-Befehl die folgenden Kommandozeilen-Schalter.

\begin{description}

\item [{-}{-}sysbindir=\lt{}Pfad/zu/den/Programmdateien\gt{}]
 \index[general]{--sysbindir }
Legt fest, in welches Verzeichnis die Bacula Programmdateien bei Ausf\"{u}hrung des {\bf make  install}-Befehls installiert werden.

\item [{-}{-}sysconfdir=\lt{}Pfad/zu/den/Konfigurationsdateien\gt{}]
  \index[general]{--sysconfdir }
   Legt fest, in welches Verzeichnis die Bacula Konfigurationsdateien bei Ausf\"{u}hrung des {\bf make install}-Befehls installiert werden.

\item [ {-}{-}mandir=\lt{}path\gt{}]
   \index[general]{{-}{-}mandir}
Vorgabem\"{a}{\ss}ig installiert Bacula eine einfache Unix-manpage in ``/usr/share/man''. Soll die manpage an einen anderen Ort, k\"{o}nnen Sie mit dieser Option einen Pfad setzen. Beachten Sie bitte, dass die Bacula-Handb\"{u}cher (HTML- und PDF-Dateien) Bestandteil eines eigenen tar-Files sind, das nicht Bestandteil des Quellcode-Releases ist.

\item [ {-}{-}datadir=\lt{}path\gt{}]
   \index[general]{{-}{-}datadir}
Wenn Sie Bacula oder Teile davon \"{u}bersetzen wollen, k\"{o}nnen Sie die ``{\bf
   {-}{-}datadir}''-Option verwenden um den Speicherort der ``po''-Dateien festzulegen. Die ``po''-Dateien m\"{u}ssen ``von Hand'' installiert werden, da Bacula dies (noch) nicht automatisch tut.

\item [{-}{-}enable-smartalloc ]
   \index[general]{--enable-smartalloc }
   Damit wird der ``Smartalloc orphaned buffer detection code'' mit eingebunden. Diese Option ist dringend empfohlen. Da wir nie ohne diese Option kompilieren, werden Sie vielleicht Probleme haben, wenn sie nicht gesetzt ist. Wir empfehlen dringend, diesen Schalter gesetzt zu lassen, da er hilft, Memory-Leaks zu entdecken. Dieser Konfigurationsparameter wird bei der Kompilierung von Bacula benutzt.

\item [{-}{-}enable-gnome ]
   \index[general]{--enable-gnome }
   Ist auf Ihrem Computer GNOME installiert und wollen Sie das grafische GNOME-Interface benutzen, setzen Sie diesen Schalter. Dadurch wird alles im Verzeichnis {\bf src/gnome-console} kompiliert.

\item [{-}{-}enable-wx-console ]
   \index[general]{--enable-wx-console }
   Wenn auf Ihrem Rechner wxWidgets installiert ist und sie das grafische wxWidgets Console-Interface benutzen wollen, m\"{u}ssen Sie diesen Schalter setzen. Hierdurch wird alles im Verzeichnis {\bf src/wx-console} kompiliert. Dies kann auch f\"{u}r Benutzer hilfreich sein, die eine grafische Konsole benutzen, aber GNOME nicht installieren wollen, da wxWidgets mit GTK+-, Motif- und sogar X11-Bibliotheken l\"{a}uft 

\item [{-}{-}enable-tray-monitor ]
   \index[general]{--enable-tray-monitor }
Wenn Sie auf Ihrem Rechner GTK installiert haben und eine grafische Umgebung oder einen Window-Manager benutzen, der dem Standard f\"{u}r die System-Tray von FreeDesktop entspricht (wie KDE oder GNOME) und wenn sie Ihre GUI benutzen wollen, um die Bacula-D\"{a}monen zu \"{u}berwachen, sollten sie diesen Schalter setzen. Ist er gesetzt, wird alles im Verzeichnis {\bf src/tray-monitor} kompiliert.

\item [{-}{-}enable-static-tools]
   \index[general]{--enable-static-tools }
Durch Setzen dieses Schalters werden die Hilfsprogramme des Storage-D\"{a}mons ({\bf bls}, {\bf bextract}, and {\bf bscan}) statisch gelinkt. Dadurch kann man sie auch verwenden, ohne dass die gemeinsamen Bibliotheken geladen sind. Wenn beim Linken Probleme im Verzeichnis {\bf src/stored} auftreten, sollten sie sich vergewissern, dass diese Option nicht gesetzt ist. Sie k\"{o}nnen durch Setzen des Schalters {\bf \verb{--{disable-static-tools} das statische Linken auch explizit unterdr\"{u}cken.

\item [{-}{-}enable-static-fd]
   \index[general]{--enable-static-fd }
Durch diese Option kompiliert der make-Prozess zus\"{a}tzlich zum Standard File-D\"{a}mon einen statischen Bacula File-D\"{a}mon. Diese statische Version hat alle ben\"{o}tigten Bibliotheken statisch gelinkt und wird f\"{u}r eine Notfallwiederherstellung auf einer leeren Festplatte verwendet. Diese Option kann meistens durch den Befehl {\bf make static-bacula-fd} ersetzt werden, den man im Verzeichnis {\bf src/filed} ausf\"{u}hren kann. Daneben ist auch die unten beschriebene Option {\bf \verb{--{enable-client-only} n\"{u}tzlich, wenn man nur einen einzelnen Client kompilieren will und die \"{u}brigen Programmteile nicht.

Wird ein statisches Programm gelinkt, ben\"{o}tigt der Linker alle verwendeten Bibliotheken in statischen Versionen. Benutzer, die diese Option h\"{a}ufiger verwenden, werden auch h\"{a}ufiger Linker-Fehler haben. Als Erstes sollte man dann \"{u}berpr\"{u}fen, ob auf dem System eine statische ``glibc''-Bibliothek installiert ist. Als n\"{a}chstes sollte man `./configure'' ohne die Optionen {\bf {-}{-}openssl} und {\bf {-}{-}with-python} aufrufen, da hierbei zus\"{a}tzliche Bibliotheken ben\"{o}tigt werden. Man kann diese Optionen verwenden, doch muss man dann zus\"{a}tzliche statische Bibliotheken laden.

\item [{-}{-}enable-static-sd]
   \index[general]{--enable-static-sd }
Damit wird zus\"{a}tzlich zum Standard-Storage-D\"{a}mon ein statischer Storage-D\"{a}mon kompiliert. Die statische Version hat die Bibliotheksfunktionen fest eingebaut und ist bei der Datenwiederherstellung im Notfall hilfreich.

Wird ein statisches Programm gelinkt, ben\"{o}tigt der Linker alle verwendeten Bibliotheken in statischen Versionen. Benutzer, die diese Option h\"{a}ufiger verwenden, werden auch h\"{a}ufiger Linker-Fehler haben. Als Erstes sollte man dann \"{u}berpr\"{u}fen, ob auf dem System eine statische ``glibc''-Bibliothek installiert ist. Als n\"{a}chstes sollte man `./configure'' ohne die Optionen {\bf {-}{-}openssl} und {\bf {-}{-}with-python} aufrufen, da hierbei zus\"{a}tzliche Bibliotheken ben\"{o}tigt werden. Man kann diese Optionen verwenden, doch muss man dann zus\"{a}tzliche statische Bibliotheken laden.

\item [{-}{-}enable-static-dir]
   \index[general]{--enable-static-dir }
Damit wird zus\"{a}tzlich zum Standard-Director ein statischer Director kompiliert. Die statische Version hat die Bibliotheksfunktionen fest eingebaut und ist bei der Datenwiederherstellung im Notfall hilfreich.

Wird ein statisches Programm gelinkt, ben\"{o}tigt der Linker alle verwendeten Bibliotheken in statischen Versionen. Benutzer, die diese Option h\"{a}ufiger verwenden, werden auch h\"{a}ufiger Linker-Fehler haben. Als Erstes sollte man dann \"{u}berpr\"{u}fen, ob auf dem System eine statische ``glibc''-Bibliothek installiert ist. Als n\"{a}chstes sollte man `./configure'' ohne die Optionen {\bf {-}{-}openssl} und {\bf {-}{-}with-python} aufrufen, da hierbei zus\"{a}tzliche Bibliotheken ben\"{o}tigt werden. Man kann diese Optionen verwenden, doch muss man dann zus\"{a}tzliche statische Bibliotheken laden.

\item [{-}{-}enable-static-cons]
   \index[general]{--enable-static-cons }
Damit werden zus\"{a}tzlich zur Standard-Console eine statische Console und statische GNOME-Console kompiliert. Die statischen Versionen haben die Bibliotheksfunktionen fest eingebaut und sind bei der Datenwiederherstellung im Notfall hilfreich.

Wird ein statisches Programm gelinkt, ben\"{o}tigt der Linker alle verwendeten Bibliotheken in statischen Versionen. Benutzer, die diese Option h\"{a}ufiger verwenden, werden auch h\"{a}ufiger Linker-Fehler haben. Als Erstes sollte man dann \"{u}berpr\"{u}fen, ob auf dem System eine statische ``glibc''-Bibliothek installiert ist. Als n\"{a}chstes sollte man `./configure'' ohne die Optionen {\bf {-}{-}openssl} und {\bf {-}{-}with-python} aufrufen, da hierbei zus\"{a}tzliche Bibliotheken ben\"{o}tigt werden. Man kann diese Optionen verwenden, doch muss man dann zus\"{a}tzliche statische Bibliotheken laden.

\item [{-}{-}enable-client-only]
   \index[general]{--enable-client-only }
Durch Setzen dieses Schalters werden nur der File-D\"{a}mon und die von ihm ben\"{o}tigten Bibliotheken kompiliert. Keiner der anderen D\"{a}monen, nicht die Sicherungswerkzeuge oder die Console werden kompiliert. Daher wird mit dem Befehl {\bf make install} auch nur der File-D\"{a}mon installiert. Um alle D\"{a}monen zu kompilieren, m\"{u}ssen Sie eine Konfiguration ohne diese Option verwenden. Mit dieser Option wird die Kompilierung nur eines Client-Prozesses auf einem Client-Rechner sehr erleichtert.

Wird ein statisches Programm gelinkt, ben\"{o}tigt der Linker alle verwendeten Bibliotheken in statischen Versionen. Benutzer, die diese Option h\"{a}ufiger verwenden, werden auch h\"{a}ufiger Linker-Fehler haben. Als Erstes sollte man dann \"{u}berpr\"{u}fen, ob auf dem System eine statische ``glibc''-Bibliothek installiert ist. Als n\"{a}chstes sollte man `./configure'' ohne die Optionen {\bf {-}{-}openssl} und {\bf {-}{-}with-python} aufrufen, da hierbei zus\"{a}tzliche Bibliotheken ben\"{o}tigt werden. Man kann diese Optionen verwenden, doch muss man dann zus\"{a}tzliche statische Bibliotheken laden.

\item [{-}{-}enable-largefile]
   \index[general]{--enable-largefile }
Mit diesem Schalter (voreingestellt) wird Bacula mit der Unterst\"{u}tzung f\"{u}r 64 Bit breite Adressen kompiliert, sofern dies Ihr Rechner unterst\"{u}tzt. Damit kann Bacula Dateien lesen und schreiben, die gr\"{o}{\ss}er sind als 2 GBytes. Dieses Feature kann durch setzen des Schalters {\bf \verb{--{disable-largefile} abgew\"{a}hlt werden. Damit sind nur 32 Bit breite Adressen m\"{o}glich.

\item [ {-}{-}disable-nls]
   \index[general]{{-}{-}disable-nls}
Vorgabem\"{a}{\ss}ig verwendet Bacula ``GNU Native Language Support''-Bibliotheken (NLS). Auf manchen Rechnern sind diese Bibliotheken nicht verf\"{u}gbar oder funktionieren nicht richtig (beonders auf nicht-Linux Implementierungen). In diesen F\"{a}llen kann man durch Setzen von {\bf {-}{-}disable-nls} die Verwendung dieser Bibliotheken unterbinden. In diesem Fall benutzt Bacula Englisch.

\item [{-}{-}with-sqlite=\lt{}Pfad/zu/SQLite\gt{}]
   \index[general]{--with-sqlite }
Mit dieser Option wird die Benutzung eines SQlite-Datenbanksystems erm\"{o}glicht. Da Bacula an einem Standard-Speicherort ({\bf depkgs/sqlite}) sucht, wird der Pfad {\bf sqlite-path} normalerweise nicht angegeben. N\"{a}heres hierzu im Kapitel \ilink{SQLite installieren and konfigurieren }{_ChapterStart33} in diesem Handbuch.
Beachten Sie auch den Hiinweis zur Option ``{-}{-}with-postgresql''.

\item [ {-}{-}with-sqlite3=\lt{}Pfad/zu/sqlite3\gt{}]
   \index[general]{{-}{-}with-sqlite3 }
Dies erlaubt die Verwendung von SQLite in der Version 3.x. Der Pfad ({\bf sqlite3-path}) muss normalerweise nicht gesetzt werden, da Bacula die ben\"{o}tigten Komponenten an den Standardspeicherorten ({\bf depkgs/sqlite3}) sucht. Im Kapitel \ilink{SQLite installieren und konfigurieren}{_ChapterStart33} dieses Handbuches finden sie weitere Einzelheiten.

\item [{-}{-}with-mysql=\lt{}Pfad/zu/MySQL\gt{}]
   \index[general]{--with-mysql }
Mit dieser Option werden die Catalog-Dienste f\"{u}r Bacula kompiliert. Sie setzt voraus, dass MySQL bereits auf Ihrem Rechner l\"{a}uft, und erwartet, dass es im Verzeichnis, das Sie mit der Pfadangabe ({\bf mysql-path}) angeben, installiert ist. Wenn dieser Schalter nicht gesetzt ist, wird Bacula automatisch den Code der internen Bacula-Datenbank einbeziehen. Nach M\"{o}glichkeit empfehlen wir, diesen Schalter zu setzen. Wenn Sie ihn verwenden, installieren Sie bitte zuerst MySQL und lesen das Kapitel \ilink{MySQL installieren and konfigurieren }{_ChapterStart} in diesem Handbuch bevor Sie mit der Konfiguration fortfahren. 

\item [{-}{-}with-postgresql=\lt{}Pfad/zu/PostgreSQL\gt{}]
   \index[general]{--with-postgresql }
Dieser Schalter erfordert die Angabe des Pfades zum PostgreSQL-Programmverzeichnis, da Bacula ihn nicht von selbst finden kann. Zur Kompilierung mit PostgreSQL verwendet man einfach {\bf {-}{-}with-postgresql}.

Um Bacula richtig zu konfigurieren, muss eine der vier unterst\"{u}tzten Datenbank-Optionen spezifiziert sein. Entweder also 
``{-}{-}with-sqlite'', ``{-}{-}with-sqlite3'', ``{-}{-}with-mysql'' oder `{-}{-}with-postgresql''. Andernfalls wird der ``./configure''-Prozess fehlschlagen.

\item [ {-}{-}with-openssl=\lt{}path\gt{}]
Diese Schalter wird ben\"{o}tigt, wenn Bacula TLS (ssl) verwenden soll. In der Regel muss der Pfad nicht spezifiziert werden, da der Konfigurationsprozess die OpenSSL-Bibliotheken an deren Standardorten sucht. Wenn OpenSSL aktiviert ist, gestattet Bacula eine sichere Kommunikation zwischen seinen D\"{a}monprozessen. Weitere Informationen zur Verwendung von TLS im Kapitel \ilink{Bacula TLS}{_ChapterStart61} in diesem Handbuch.

\item [ {-}{-}with-python=\lt{}Pfad/zu/Python\gt{}]
   \index[general]{{-}{-}with-python }
Mit diese Option wird die Bacula-Unterst\"{u}tzung f\"{u}r Python aktiviert. Wird kein Pfad mit angegeben, sucht der Konfigurationsprozess Bibliotheken an den Standard-Installationsorten von Python 2.2., 2.3 und 2.4. Wird die Bibliothek nicht gefunden, muss die Option mit dem Pfad zum Verzeichnis Ihrer Python-Bibliotheken aufgerufen werden. Im Kapitel \ilink{Python}{_ChapterStart60} sind Einzelheiten dazu, wie man Python-Scripting verwenden kann.

\item [ {-}{-}with-libintl-prefix=\lt{}DIR\gt{}]
   \index[general]{{-}{-}with-libintl-prefix}
Mit dieser Option durchsucht Bacula die Verzeichnisse ``DIR/include'' und ``DIR/lib'' nach den ``libintl''-Headern und -Bibliotheken, die es f\"{u}r den ``Native Language Support'' (NLS) ben\"{o}tigt.

\item [{-}{-}enable-conio]
   \index[general]{--enable-conio }
Teilt Bacula mit, die kleine, leichtgewichtige, ``readline'' ersetzende Routine zu kompilieren. Diese ist im allgemeinen sehr viel einfacher zu konfigurieren als ``readline'', ben\"{o}tigt aber entweder die ``termcap''- oder ``ncurses''-Bibliothek.

\item [{-}{-}with-readline=\lt{}Pfad/zu/readline\gt{}]
   \index[general]{--with-readline }
Teilt Bacula mit, wo {\bf readline} installiert ist. Sofern es Teil der Standard-Bibliothek ist, findet Bacula normalerweise ``readline''. Wird es nicht gefunden, und ist der Schalter \verb{--{with-readline gesetzt, wird readline deaktiviert. Diese Option betrifft Baculas Kompilierung. Mit Readline ist im der Console-Programm eine History und ein Editieren der Kommandozeile m\"{o}glich. Readline wird nicht mehr unterst\"{u}tzt. Sie sind daher bei Problemen auf sich allein gestellt.

\item [ {-}{-}enable-readline]
   \index[general]{--enable-readline }
Damit wird Bacula mitgeteilt, die Readline-Unterst\"{u}tung zu erm\"{o}glichen. Das Paket scheint sich in inkompatibler Weise von Version zu Version zu \"{a}ndern. Daher ist wegen der Vielzahl der Konfigurationsprobleme dieser Schalter normalerweise nicht gesetzt.

\item [{-}{-}with-tcp-wrappers=\lt{}Pfad/zur/TCP-Wrapper/Bibliothek\gt{}]
   \index[general]{--with-tcp-wrappers }
Damit wird spezifiziert, dass Bacula mit TCP-Wrappern (man hosts\_access(5)) kompiliert werden soll. Die Angabe des Pfades ist optional, da Bacula die Bibliotheken an den Standard-Speicherorten findet. Diese Option betrifft Baculas Kompilierung. Wenn Sie bei der Spezifikation der Einschr\"{a}nkungen in ihren {\bf /etc/hosts.allow}- und {\bf /etc/hosts.deny}-Dateien die {\bf twist}-Option (hosts\_options(5)) verwenden, wird sich der Bacula-Prozess beenden.
Beachten Sie bitte, dass Sie beim Einrichten Ihrer {\bf /etc/hosts.allow}- und {\bf /etc/hosts.deny}-Dateien die infrage kommenden Bacula-D\"{a}monen mit deren Namen aus der Konfigurationsdatei und nicht mit deren jeweiligen Programmnamen bezeichnen.

Weitere Informationen zur Konfiguration und zum Test der TCP-Wrapper im Abschnitt \ilink{TCP Wrapper konfigurieren und testen}{wrappers} des Kapitels zur Sicherheit.

\item [{-}{-}with-working-dir=\lt{}Pfad/zum/Arbeitsverzeichnis\gt{} ]
   \index[general]{--with-working-dir }
Die Angabe dieser Option ist zwingend und spezifizert das Verzeichnis, in welches Bacula zwischen seinen Ausf\"{u}hrungen seine Dateien sichert. Wenn z.B. die interne Datenbank verwendet wird, werden deren Dateien hier abgelegt. Diese Option wird nur benutzt, um die Konfigurationsdateien der D\"{a}monen zu ver\"{a}ndern. Das Gleiche erreichen Sie, wenn Sie die Konfigurationsdateien nachtr\"{a}glich \"{a}ndern. Das Arbeitsverzeichnis wird bei der Installation nicht automatisch erstellt, so dass Sie sicherstellen m\"{u}ssen, dass es vor der ersten Benutzung von Bacula vorhanden ist.

\item [{-}{-}with-base-port=\lt{}Port=Nummer\gt{}]
   \index[general]{--with-base-port }
Um funktioniern zu k\"{o}nnen, ben\"{o}tigt Bacula drei TCP/IC-Ports (einen f\"{u}r die Bacula-Console, einen f\"{u}r den Storage-D\"{a}mon und einen f\"{u}r den File-D\"{a}mon). Die Direktive {\bf \verb{--{with-baseport}  weist automatisch drei Port Nummern zu, die mit der Basisadresse beginnen, die Sie spezifizieren. Auch in den sich ergebenden Konfigurationsdateien k\"{o}nnen Sie die Portnummern \"{a}ndern. Sie m\"{u}ssen jedoch aufpassen, dass die Nummern in allen drei Konfigurationsdateien genau \"{u}bereinstimmen. Der Vorgabe-Basisport hat die Nummer 9101. Damit sind die Ports 9101 bis 9103 zugewiesen. Diese Portnummern (9101, 9102, 9103) wurden von der IANA Bacula offiziell zugeteilt. Durch Setzen dieser Option ver\"{a}ndern Sie nur die Konfigurationsdateien. Diese k\"{o}nnen Sie auch nach der Installation noch ver\"{a}ndern.

\item [{-}{-}with-dump-email=\lt{}E-mail-Adresse\gt{}]
   \index[general]{--with-dump-email }
Dieser Schalter spezifiziert die E-Mail-Adresse an die alle ``core dumps'' gesendet werden und wird normalerweise nur von Entwicklern verwendet.

\item [{-}{-}with-pid-dir=\lt{}Pfad\gt{}  ]
   \index[general]{--with-pid-dir }
Damit wird jenes Verzeichnis spezifiziert, in welchem Bacula die Datei mit den Prozess-IDs w\"{a}hrend seiner Ausf\"{u}hrung ablegt. Vorgabem\"{a}{\ss}ig ist dies {\bf /var/run}. Diese Verzeichnis wird bei der Installation nicht angelegt. Daher sollten Sie sicher sein, dass es vorhanden ist, bevor Sie Bacula zum ersten Mal verwenden.

\item [{-}{-}with-subsys-dir=\lt{}Pfad\gt{}]
   \index[general]{--with-subsys-dir }
Dieser Schalter spezifiziert den Ort, an dem Bacula die Subsystem-Lock Datei w\"{a}hrend seiner Ausf\"{u}hrung ablegt. Vorgabe ist {\bf /var/run/subsys}. Stellen Sie sicher, dass sie hierf\"{u}r und das {\bf sbindir}-Verzeichnis nicht das gleiche Verzeichnis spezifizieren. Dieses Verzeichnis wird nur innerhalb der Autostart-Skripten verwendet. Das ``subsys''-Verzeichnis wird bei Baculas Installation nicht erstellt, so dass Sie selbst sicherstellen m\"{u}ssen, dass es erstellt ist, bevor Sie Bacula verwenden.
   
\item [{-}{-}with-dir-password=\lt{}Passwort\gt{}]
   \index[general]{--with-dir-password }
Mit diesem Schalter kann ein Passwort f\"{u}r den Zugang (in der Regel \"{u}ber das Console-Programm) zum Director spezifiziert werden. Ist der Schalter nicht gesetzt, generiert der Konfigurationsprozess ein zuf\"{a}lliges Passwort.

\item [{-}{-}with-fd-password=\lt{}Passwort\gt{} ]
   \index[general]{--with-fd-password }
Mit diesem Schalter kann ein Passwort f\"{u}r den Zugang zum File-D\"{a}mon spezifiziert werden (normalerweise vom Director aufgerufen). Wenn es nicht spezifiziert wurde, generiert der Konfigurationsprozess ein zuf\"{a}lliges Passwort.

\item [{-}{-}with-sd-password=\lt{}Passwort\gt{} ]
   \index[general]{--with-sd-password }
Mit diesem Schalter kann ein Passwort f\"{u}r den Zugang zum Storage-D\"{a}mon spezifiziert werden (normalerweise vom Director aufgerufen). Wenn es nicht spezifiziert wurde, generiert der Konfigurationsprozess ein zuf\"{a}lliges Passwort.

\item [{-}{-}with-dir-user=\lt{}User\gt{} ]
   \index[general]{--with-dir-user }

Durch Setzen dieses Schalters kann die User-ID festgelegt werden unter welcher der Director l\"{a}uft. Der Director-Prozess muss als root gestartet werden, doch muss er nicht unter root laufen. Nach den ersten Initialisierungen kann er dem User \"{u}bergeben werden, dessen ID Sie hier spezifizieren.

\item [ {-}{-}with-dir-group=\lt{}Group\gt{} ]
   \index[general]{--with-dir-group }

Durch Setzen dieses Schalters kann die Group-ID festgelegt werden unter welcher der Director l\"{a}uft. Der Director-Prozess muss als root gestartet werden, doch muss er nicht unter root laufen. Nach den ersten Initialisierungen kann er der Gruppe \"{u}bergeben werden, deren ID Sie hier spezifizieren.

\item [{-}{-}with-sd-user=\lt{}User\gt{} ]
   \index[general]{--with-sd-user }
Mit diesem Schalter kann die User-ID festgelegt werden unter welcher der Storage-D\"{a}mon l\"{a}uft. Der Storage-D\"{a}mon muss als root gestartet werden, doch muss er nicht unter root laufen. Nach den ersten Initialisierungen kann er dem User \"{u}bergeben werden, dessen ID Sie hier spezifizieren. Wenn Sie diese Option verwenden, m\"{u}ssen Sie auch sicherstellen, dass der Storageprozess alle Ger\"{a}te(Bandlaufwerke, usw.) verwenden darf, die er ben\"{o}tigt.

\item [{-}{-}with-sd-group=\lt{}Group\gt{} ]
   \index[general]{--with-sd-group }
Durch Setzen dieses Schalters kann die Group-ID festgelegt werden unter welcher der Storage-D\"{a}mon l\"{a}uft. Der Storage-D\"{a}mon muss als root gestartet werden, doch muss er nicht unter root laufen. Nach den ersten Initialisierungen kann er der Gruppe \"{u}bergeben werden, deren ID Sie hier spezifizieren.

\item [{-}{-}with-fd-user=\lt{}User\gt{} ]
   \index[general]{--with-fd-user }
Durch Setzen dieses Schalters kann die User-ID festgelegt werden unter welcher der File-D\"{a}mon l\"{a}uft. Der File-D\"{a}mon muss als root gestartet werden und muss in den meisten F\"{a}llen auch unter root laufen. In ganz besonderen F\"{a}llen kann mit dieser Option der File-D\"{a}mon-Prozess nach den ersten Initialisierungen einem User \"{u}bergeben werden, dessen ID Sie hier spezifizieren.

\item [{-}{-}with-fd-group=\lt{}Group\gt{} ]
   \index[general]{--with-fd-group }
Durch Setzen dieses Schalters kann die Group-ID festgelegt werden unter welcher der File-D\"{a}mon l\"{a}uft. Der File-D\"{a}mon muss als root gestartet werden und muss in den meisten F\"{a}llen auch unter root laufen. Trotzdem kann der File-D\"{a}mon-Prozess nach den ersten Initialisierungen der Gruppe \"{u}bergeben werden, deren ID Sie hier spezifizieren.

\end{description}

Beachten Sie bitte, dass durch Eingabe von {\bf ./configure \verb{--{help} noch viele andere Optionen angezeigt werden, diese aber bislang nicht implementiert sind.

\section{Optionen, die wir f\"{u}r die meisten Systeme empfehlen}
\index[general]{Systeme!Empfohlenen Optionen f\"{u}r die meisten }
\index[general]{Optionen, die wir f\"{u}r die meisten Systeme empfehlen }

Wir empfehlen f\"{u}r die meisten Systeme mit folgenden Optionen zu beginnen:

\footnotesize
\begin{verbatim}
./configure \
  --enable-smartalloc \
  --sbindir=$HOME/bacula/bin \
  --sysconfdir=$HOME/bacula/bin \
  --with-pid-dir=$HOME/bacula/bin/working \
  --with-subsys-dir=$HOME/bacula/bin/working \
  --with-mysql=$HOME/mysql \
  --with-working-dir=$HOME/bacula/working
\end{verbatim}
\normalsize

Wenn Sie Bacula lieber in ein Installationsverzeichnis installieren wollen, als es aus seinem Kompilationsverzeichnis heraus zu betreiben (wie es Entwickler tun) m\"{u}ssen Sie den Schalter \verb{--{sbindir and \verb{--{sysconfdir  mit den entsprechenden Pfaden verwenden. Dies ist nicht notwendig, wenn Sie ``make install'' nicht verwenden, wie es meistens bei der Programm-Entwicklung der Fall ist. Der Installationsprozess erzeugt die mit ``sbindir'' und ``sysconfdir'' angegebenen Verzeichnisse, aber nicht jene, die als ``pid-dir'', ``subsys-dir'' oder ``working-dir'' spezifiziert wurden. Sie m\"{u}ssen selbst sicherstellen, dass diese existieren, bevor Bacula das erste Mal l\"{a}uft. Es folgt ein Beispiel daf\"{u}r wie Kern das tut.

\section{RedHat}
\index[general]{RedHat }

Bei der Verwendung von SQLite: 

\footnotesize
\begin{verbatim}
 
CFLAGS="-g -Wall" ./configure \
  --sbindir=$HOME/bacula/bin \
  --sysconfdir=$HOME/bacula/bin \
  --enable-smartalloc \
  --with-sqlite=$HOME/bacula/depkgs/sqlite \
  --with-working-dir=$HOME/bacula/working \
  --with-pid-dir=$HOME/bacula/bin/working \
  --with-subsys-dir=$HOME/bacula/bin/working \
  --enable-gnome \
  --enable-conio
\end{verbatim}
\normalsize

oder 

\footnotesize
\begin{verbatim}
 
CFLAGS="-g -Wall" ./configure \
  --sbindir=$HOME/bacula/bin \
  --sysconfdir=$HOME/bacula/bin \
  --enable-smartalloc \
  --with-mysql=$HOME/mysql \
  --with-working-dir=$HOME/bacula/working
  --with-pid-dir=$HOME/bacula/bin/working \
  --with-subsys-dir=$HOME/bacula/bin/working
  --enable-gnome \
  --enable-conio
\end{verbatim}
\normalsize

oder, zum Schluss, eine vollst\"{a}ndig traditionelle RedHat-Linux Installation: 

\footnotesize
\begin{verbatim}
CFLAGS="-g -Wall" ./configure \
  --prefix=/usr \
  --sbindir=/usr/sbin \
  --sysconfdir=/etc/bacula \
  --with-scriptdir=/etc/bacula \
  --enable-smartalloc \
  --enable-gnome \
  --with-mysql \
  --with-working-dir=/var/bacula \
  --with-pid-dir=/var/run \
  --enable-conio
\end{verbatim}
\normalsize
Beachten Sie bitte, dass Bacula davon ausgeht, dass die Verzeichnisse
/var/bacula, /var/run, und /var/lock/subsys bereits existieren und es diese
w\"{a}hrend der Installation nicht automatisch erzeugt.

Beachten Sie bitte, dass bei Benutzung einer AMD64 CPU, die unter 64 bit CentOS4 l\"{a}uft, mit gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5) ein Compiler Bug auftritt, so dass Code erzeugt wird, der eine Segmentverletzung verusacht. Typischerweise macht sich dies zuerst beim Storage-D\"{a}mon bemerkbar. Eine L\"{o}sung ist es, Bacula ohne Optimierung zu kompilieren (normalerweise ist dies -O2).

\section{Solaris}
\index[general]{Solaris }

Um Bacula aus den Quellcodedateien zu erzeugen, muss auf dem Solaris-System bereits das folgende installiert sein (das ist es standardm\"{a}{\ss}ig nicht):
libiconv, gcc 3.3.2, stdc++, libgcc (wegen der stdc++- und gcc\_s-Bibliotheken), make 3.8 oder neuer. 

M\"{o}glicherweise muss die PATH-Umgebungsvariable um ``/usr/local/bin'' und ``/usr/ccs/bin'' (wegen ar) erg\"{a}nzt werden

\footnotesize
\begin{verbatim}
#!/bin/sh
CFLAGS="-g" ./configure \
  --sbindir=$HOME/bacula/bin \
  --sysconfdir=$HOME/bacula/bin \
  --with-mysql=$HOME/mysql \
  --enable-smartalloc \
  --with-pid-dir=$HOME/bacula/bin/working \
  --with-subsys-dir=$HOME/bacula/bin/working \
  --with-working-dir=$HOME/bacula/working
\end{verbatim}
\normalsize

Wie oben schon erw\"{a}hnt, erzeugt der Installationsprozess die mit ``sbindir'' und ``sysconfdir'' bezeichneten Verzeichnisse, falls sie nicht schon vorhanden sind. Die Verzeichnisse ``pid-dir'', ``subsys-dir'' und ``working-dir'' werden nicht automatisch erzeugt. Vergewissern Sie sich daher, dass sie existieren, bevor Bacula zum ersten Mal laufen soll.

Beachten Sie bitte, dass Sie m\"{o}glicherweise die folgenden Pakete installieren m\"{u}ssen, um Bacula kompilieren zu k\"{o}nnen:
\footnotesize
\begin{verbatim}
SUNWbinutils,
SUNWarc,
SUNWhea,
SUNWGcc,
SUNWGnutls
SUNWGnutls-devel
SUNWGmake
SUNWgccruntime
SUNWlibgcrypt
SUNWzlib
SUNWzlibs
SUNWbinutilsS
SUNWGmakeS
SUNWlibm

export 
PATH=/usr/bin::/usr/ccs/bin:/etc:/usr/openwin/bin:/usr/local/bin:/usr/sfw/bin:/opt/sfw/bin:/usr/ucb:/usr/sbin
\end{verbatim}
\normalsize

\section{FreeBSD}
\index[general]{FreeBSD }

Unter \elink{The FreeBSD Diary}{http://www.freebsddiary.org/bacula.php} gibt es eine detailierte Beschreibung wie Bacula unter diesem Betriebssystem intalliert wird. Benutzer von FreeBSD, die eine Version von vor 4.9-STABLE (Montag, 29. Dezember 2003,  15:18:01 UTC) verwenden, sollten das Kapitel \ilink{Test der Bandlaufwerke}{FreeBSDTapes} in diesem Handbuch lesen. Darin sind \textbf{wichtige} Informationen, wie man das Bandlaufwerk so konfiguriert, dass es mit Bacula zusammenarbeitet.

Wenn Sie Bacula zusammen mit MySQL verwenden, sollten Sie darauf achten, MySQL eher mit den Thread-Bibliotheken von FreeBSD als mit denen von Linux zu kompilieren, weil Bacula selbst normalerweise so kompiliert wird. Eine Mischung von Beiden wird m\"{o}glicherweise nicht funktionieren.

\section{Win32}
\index[general]{Win32 }
Um die Win32-Version des File-Client zu installieren, lesen Sie bitte das Kapitel \ilink{Win32 Installation}{_ChapterStart7} in diesem Handbuch.

\section{Windows-Systeme mit installiertem CYGWIN}
\label{Win32}
\index[general]{Windows-Systeme mit installiertem CYGWIN }
\index[general]{CYGWIN!Windows-Systeme mit installiertem  }

Seit der Version 1.34 verwendet Bacula f\"{u}r den Win32-File-D\"{a}mon CYGWIN nicht mehr. Er wird allerdings immer noch in einer CYGWIN-Umgebung kompiliert - m\"{o}glicherweise funktioniert das aber auch mit dem Visual C -Studio allein. Wenn Sie den Win32-File-D\"{a}mon selbst kompilieren wollen, ben\"{o}tigen sie Microsoft C++ in der Version 6.0 oder h\"{o}her. F\"{u}r Bacula in den Versionen vor 1.3 wurde CYGWIN verwendet. Einzelheiten zur Kompilierung stehen in der README-Datei im Verzeichnis ``src/win32''.

Beachten Sie, dass, obwohl sich fast alle Elemente von Bacula unter Windows kompilieren lassen, nur der File-D\"{a}mon getestet und verwendet wurde.

Beachten Sie auf jeden Fall die Installationsanweisungen des Kapitels \ilink{Win32-Installation}{_ChapterStart7} in diesem Dokument.

\section{Kerns Konfigurations-Skript}
\index[general]{Skript!Kerns Konfigurations }
\index[general]{Kerns Konfigurations-Skript }

Dieses Skript verwende ich f\"{u}r meinen ``produktiven'' Linux-Rechner:

\footnotesize
\begin{verbatim}
#!/bin/sh
# This is Kern's configure script for Bacula
CFLAGS="-g -Wall" \
  ./configure \
    --sbindir=$HOME/bacula/bin \
    --sysconfdir=$HOME/bacula/bin \
    --enable-smartalloc \
    --enable-gnome \
    --with-pid-dir=$HOME/bacula/bin/working \
    --with-subsys-dir=$HOME/bacula/bin/working \
    --with-mysql=$HOME/mysql \
    --with-working-dir=$HOME/bacula/bin/working \
    --with-dump-email=$USER \
    --with-smtp-host=mail.your-site.com \
    --with-baseport=9101
exit 0
\end{verbatim}
\normalsize

Beachten Sie bitte, dass ich 9101 als Basis-Port definiere. Dadurch verwendet Bacula Port 9101 f\"{u}r die Director-Console, Port 9102 f\"{u}r die File-D\"{a}monen und Port 9103 f\"{u}r die Storage-D\"{a}monen. Diese Ports m\"{u}ssten auf allen Systemen verf\"{u}gbar sein, da sie von der IANA (Internet Assigned Numbers Authority) offiziell f\"{u}r Bacula reserviert wurden. Wir raten dringend, nur diese Ports zu verwenden, um Konflikte mit anderen Programmen zu vermeiden. Wenn Sie die Option {\bf \verb{--{with-baseport} nicht verwenden, ist dies die Voreinstellung.

Eventuell k\"{o}nnen Sie auch noch das Folgende in Ihre {\bf /etc/services}-Datei eintragen, was das Erkennen der Verbindungen, die Bacula verwendet, erleichtert (z.B. mit netstat -a):

\footnotesize
\begin{verbatim}
bacula-dir      9101/tcp
bacula-fd       9102/tcp
bacula-sd       9103/tcp
\end{verbatim}
\normalsize

\section{Bacula installieren}
\index[general]{installieren!Bacula }
\index[general]{Bacula installieren }

Bevor man die Konfigurations-Dateien bearbeitet, wird man Bacula in dessen Zielverzeichnisse installieren wollen. Dies geschieht mit:

\footnotesize
\begin{verbatim}
make install
\end{verbatim}
\normalsize

Wenn Bacula zuvor schon installiert worden war, werden die Programmdateien \"{u}berschrieben werden, die Konfigurationsdateien jedoch erhalten bleiben. An die Namen der ``neuen'' Konfigurationsdateien wird ein {\bf .new} angeh\"{a}ngt. Wenn Sie Bacula bereits installiert und betrieben hatten, werden Sie diese normalerweise verwerfen wollen oder ignorieren.

\section{Einen File-D\"{a}mon oder Client-Prozess kompilieren}
\index[general]{Kompilierung!eines File-D\"{a}mons oder Client-Prozesses }
\index[general]{Einen File-D\"{a}mon oder Client-Prozess kompilieren }

Wenn der Director und Storage-D\"{a}mon bei Ihnen auf einem Rechner l\"{a}uft und Sie die Daten eines anderen Rechners sichern wollen, brauchen Sie auf diesem Rechner eine Kopie des File-D\"{a}mons. Sind der Rechner und das Betriebsystem gleich, gen\"{u}gt es, die Programmdatei {\bf bacula-fd} und die Konfigurationsdatei {\bf bacula-fd.conf} zu kopieren und dann den Name und das Passwort in der Konfigurationsdatei anzupassen, sodass diese eindeutig sind. Die entsprechenden Erweiterungen muss man auch in der Konfigurationsdatei des Directors ({\bf bacula-dir.conf}) machen.

Ist die Rechnerachitektur und/oder das Betriebsystem verschieden, so muss der File-D\"{a}mon auf dem Client-Rechner kompiliert werden. Man verwendet hierzu den gleichen {\bf ./configure}-Befehl wie f\"{u}r das Hauptprogramm und beginnt in einer neuen Kopie des Quellcode-Verzeichnisses oder indem man vor dem {\bf ./configure} ein {\bf make\ distclean} ausf\"{u}hrt.

Da der File-D\"{a}mon nicht mit der Datenbank arbeitet, k\"{o}nnen die Optionen {\bf \verb{--{with-mysql} oder {\bf \verb{--{with-sqlite} entfernt werden. Durch die Verwendung des Schalters {\bf \verb{--{enable-client-only} werden nur die ben\"{o}tigten Bibliotheken und die Client-Programme erzeugt. Dadurch ist es nicht notwendig, die Datenbank-Programme zu installieren, nur um den File-D\"{a}mon zu erzeugen. Geben Sie zum Schluss einfach {\bf make} ein. Damit wird nur das Client-Programm erzeugt.

\label{autostart}
\section{Auto-Start der D\"{a}mon-Prozesse}
\index[general]{D\"{a}mon-Prozesse!Auto-Start der }
\index[general]{Auto-Start der D\"{a}mon-Prozesse }

Sollen die D\"{a}mon-Prozesse beim Booten Ihres Systems automatisch gestartet bzw. beendet werden (was sinnvoll ist), ist ein weiterer Schritt erforderlich. Als erstes muss der ``./configure''-Prozess Ihr System erkennen - es muss also unterst\"{u}tzt werden und darf nicht als {\bf unknown} erkannt sein. Dann m\"{u}ssen die plattformspezifischen Dateien wie folgt installiert werden:

\footnotesize
\begin{verbatim}
(become root)
make install-autostart
\end{verbatim}
\normalsize

Die M\"{o}glichkeit des Auto-Starts ist nur f\"{u}r Systeme implementiert, die wir offiziell unterst\"{u}tzen (momentan FreeBSD, RedHat/Fedora-Linux und Solaris) und wurde bislang nur auf Fedora-Linux vollst\"{a}ndig getestet.

Mit dem Befehl {\bf make install-autostart} werden die entsprechenden Start-Skripte zusammen mit den notwendigen symbolischen Links installiert. Unter RedHat-Linux sind diese Skripte in den Verzeichnisssen {\bf /etc/rc.d/init.d/bacula-dir}, {\bf /etc/rc.d/init.d/bacula-fd} und {\bf /etc/rc.d/init.d/bacula-sd}. Der genaue Speicherort h\"{a}ngt vom verwendeten Beriebssystem ab. 

Wenn nur der File-D\"{a}mon installiert werden soll, k\"{o}nnen Sie dies mit folgendem Befehl tun:

\footnotesize
\begin{verbatim}
make install-autostart-fd
\end{verbatim}
\normalsize

\section{Weitere Hinweise zur Kompilierung}
\index[general]{Kompilierung!Weitere Hinweise zur }
\index[general]{Weitere Hinweise zur Kompilierung }

Um eine Programmdatei in einem beliebigen Verzeichnis zu erzeugen, geben Sie einfach das folgende ein:

\footnotesize
\begin{verbatim}
make
\end{verbatim}
\normalsize

Um alle Objekt- und Programmdateien (auch die mit ``1'', ``2'' oder ``3'' bezeichneten Dateien, die Kern als tempor\"{a}re Dateien verwendet) geben Sie folgendes ein:

\footnotesize
\begin{verbatim}
make clean
\end{verbatim}
\normalsize

Um wirklich alles f\"{u}r eine Distribution zu bereinigen:

\footnotesize
\begin{verbatim}
make distclean
\end{verbatim}
\normalsize

Beachten Sie bitte, dass dies alle Makefiles l\"{o}scht und normalerweise auf der obersten Verzeichnisebene ausgef\"{u}hrt wird, um den Quellcode f\"{u}r eine Distribution vorzubereiten. Um dies r\"{u}ckg\"{a}ngig zu machen, muss {\bf ./configure} auch von der obersten Verzeichnisebene ausgef\"{u}hrt werden, da alle Makefiles gel\"{o}scht sind.

Um einem Unterverzeichnis eine neue Datei hinzuzuf\"{u}gen, muss die Datei ``Makefile.in'' in jenem Verzeichnis bearbeitet werden. Danach gen\"{u}gt es, {\bf make} einzugeben. In den meisten F\"{a}llen erzeugt der make-Befehl ein neues Makefile aus ``Makefile.in''. In manchen F\"{a}llen muss der {\bf make}-Befehl wiederholt werden. In extremen F\"{a}llen wechselt man in die oberste Verzeichnisebene und gibt ein: {\bf make Makefiles}.

Um Abh\"{a}ngigkeiten hinzuzuf\"{u}gen:

\footnotesize
\begin{verbatim}
make depend
\end{verbatim}
\normalsize

Mit {\bf make depend} werden die Abh\"{a}ngigkeiten der Header-Dateien aller Objekt-Dateien dem Makefile und der Datei ``Makefile.in" hinzugef\"{u}gt. Dieser Befehl sollte in allen Verzeichnissen ausgef\"{u}hrt werden, in welchen Sie die Abh\"{a}ngigkeiten \"{a}ndern. Normalerweise muss der Befehl nur ausgef\"{u}hrt werden, wenn sie Quell- oder Header-Dateien hinzuf\"{u}gen oder l\"{o}schen. {\bf make depend} wird normalerweise w\"{a}hrend des Konfigurations-Prozesses automatisch aufgerufen. 

Um zu installieren:

\footnotesize
\begin{verbatim}
make install
\end{verbatim}
\normalsize

Dieser Befehl wird verwendet, wenn Sie Bacula als Backup-System installieren wollen, nicht aber wenn Sie an Bacula selbst programmieren. 
Nach Ausf\"{u}hren des Befehls {\bf make install} werden die folgenden Dateien auf Ihrem System installiert (mehr oder weniger). Welche Dateien und Verzeichnisse es im einzelnen sind, h\"{a}ngt von Ihrem {\bf ./configure}-Befehl ab (wird z.B. GNOME nicht konfiguriert, wird auch ``gnome-console'' und ``gnome-console.conf'' nicht installiert. Wenn Sie SQLite anstatt MySQL verwenden, werden einige der Dateien andere sein).

\footnotesize
\begin{verbatim}
bacula
bacula-dir
bacula-dir.conf
bacula-fd
bacula-fd.conf
bacula-sd
bacula-sd.conf
bacula-tray-monitor
tray-monitor.conf
bextract
bls
bscanBacula
btape
btraceback
btraceback.gdb
bconsole
bconsole.conf
create_mysql_database
dbcheck
delete_catalog_backup
drop_bacula_tables
drop_mysql_tables
fd
gnome-console
gnome-console.conf
make_bacula_tables
make_catalog_backup
make_mysql_tables
mtx-changer
query.sql
bsmtp
startmysql
stopmysqlBacula
wx-console
wx-console.conf
\end{verbatim}
\normalsize

\label{monitor}

\section{Die Installation des Tray-Monitors}
\index[general]{Tray-Monitors!Die Installation des }
\index[general]{Die Installation des Tray-Monitors }

Wenn Sie den Konfigurationsschalter {\bf \verb{--{enable-tray-monitor} verwendet und {\bf make install} ausgef\"{u}hrt haben, ist der Tray-Monitor schon installiert.

Da Sie Ihre grafische Umgebung nicht als root betreiben (wenn doch, sollten sie das abstellen), m\"{u}ssen Sie den Usern Leserechte auf {\bf tray-monitor.conf} und Ausf\"{u}hrungsrechte f\"{u}r {\bf bacula-tray-monitor} geben. Dies ist kein Sicherheitsrisiko.

Melden Sie sich bei Ihrer grafischen Umgebung an (KDE, Gnome oder eine andere), starten sie den {\bf bacula-tray-monitor} als gew\"{o}hnlicher Benutzer und achten Sie darauf, ob das Cassetten-Icon irgendwo auf Ihrem Bildschirm erscheint (gew\"{o}hnlich in der Task-Leiste). Tut es das nicht, werfen Sie einen Blick auf die unten aufgef\"{u}hrten Anweisungen entsprechend Ihrer Umgebung oder Ihres Window-Managers.

\subsubsection*{GNOME}
\index[general]{GNOME }

Ein System-Tray oder einen ``Benachrichtigungs-Bereich'' (um die GNOME-Terminologie zu verwenden), wird von GNOME seit der Version 2.2 unterst\"{u}tzt. Um sie zu aktivieren, klicken Sie rechts auf Ihre Kontrollleiste, \"{o}ffnen das Men\"{u} {\bf Add to this Panel}, dann auf {\bf Utility} und klicken schlie{\ss}lich auf {\bf Notification Area}.

\subsubsection*{KDE}
\index[general]{KDE }

Seit der Version 3.1 unterst\"{u}tzt KDE das System-Tray. Um es zu aktivieren, klicken Sie Ihre Kontrollleiste rechts, \"{o}ffnen das Men\"{u} {\bf Zur Kontrollleiste hinzuf\"{u}gen}, dann auf {\bf Miniprogramm} und klicken schlie{\ss}lich auf {\bf Systemabschnitt der Kontrollleiste}. 

\subsubsection*{Andere Fenster-Manager}
\index[general]{Fenster-Manager!Andere }
\index[general]{Andere Fenster-Manager }

Lesen Sie die Dokumentation um zu erfahren, ob der Freedesktop System-Tray-Standard von Ihrem Fenster-Manager unterst\"{u}tzt wird und - wenn vorhanden - wie er aktiviert wird.

\section{Die Bacula Konfigurations-Dateien bearbeiten}
\index[general]{Die Bacula Konfigurations-Dateien bearbeiten }
\index[general]{Bearbeiten!Die Bacula Konfigurations-Dateien }

Schlagen Sie im Kapitel \ilink{Bacula konfigurieren}{_ChapterStart16} dieses Handbuches nach, wie sie die Konfigurationsdateien von Bacula einrichten.
