4 \section*{Bacula installieren}
5 \label{_ChapterStart17}
6 \index[general]{Installation!von Bacula }
7 \index[general]{Bacula installieren }
8 \addcontentsline{toc}{section}{Bacula installieren}
10 \subsection*{Allgemeines}
11 \index[general]{Allgemeines }
12 \addcontentsline{toc}{subsection}{Allgemeines}
14 Normalerweise benötigen Sie ein Release mit Baculas Quellcode und, wenn ein Windows-Client benutzt werde soll, ein ausführbares Release von Bacula für Windows. Entprechend Ihrer Konfigurationsoptionen benö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ö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.
16 \subsection*{Source Release Files}
17 \index[general]{Source Files}
18 \index[general]{Release Files}
19 \addcontentsline{toc}{subsection}{Source Release File}
21 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:
24 \item [bacula-1.38.0.tar.gz]
25 Dies ist Baculas Quellcode. Mit jedem Release erhöht sich die Versionsnummer.
27 \item [bacula-docs-1.38.0.tar.gz]
28 Diese Datei enthält eine Kopie des Verzeichnisses der Dokumente im CVS. Einige Dokumente sind vorkompiliert. Für Englisch existiert ein HTML-Verzeichnis, ein einzelnes HTML-File und eine PDF-Datei. Die französische und die deutsche Übersetzung sind in Arbeit, aber nicht kompiliert.
30 \item [bacula-gui-1.38.0.tar.gz]
31 Diese Datei enthält grafische Benutzeroberflä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.
33 \item [bacula-rescue-1.8.1.tar.gz]
34 Dies ist der Code fü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önnen Sie eine CD brennen, die unter anderem eine Beschreibung Ihrer Systemkonfiguration und die statisch gelinkte Version des File-Dämons enthält. Damit können Sie im Falle eines Festplattenausfalles mit Hilfe von Bacula Ihre Festplatten neu partitionieren, formatieren und Ihr System auf einfache Art wiederherstellen.
41 \subsection*{Bacula upgraden}
42 \index[general]{Bacula!als Upgrade }
43 \index[general]{Bacula upgraden }
44 \addcontentsline{toc}{subsection}{Bacula upgraden}
46 Wenn Sie Bacula von einer Version auf die nächste upgraden, sollten Sie erst die ReleaseNotes aller Versionen zwischen Ihrer laufenden und jener, auf die sie upgraden wollen, sorgfältig lesen. Wenn die Bacula Catalog-Datenbank upgegraded wurde, müssen Sie entweder ganz von vorne anfangen und Ihre Datenbank neu initialisieren oder diese als ASCII-Datei sichern und dann mit dem Upgrade fortfahren.
47 Dies geschieht normalerweise nachdem Bacula kompiliert und installiert ist durch Eingabe von:
50 cd <installed-scripts-dir> (default /etc/bacula)
51 ./update_bacula_tables
54 Dieses Update-Skript finden Sie auch in Baculas Quellcode im Verzeichnis ``src/cats'':
56 Gab es zwischen Ihrer Version und der aktuellen mehrere Datenbank-Upgrades, werden Sie jedes einzelne Datenbank Upgradeskript ausführen mü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üssen.
58 Das letzte Upgrade-Skript (wenn vorhanden) wird dann so ausgeführt, wie es oben beschrieben ist.
60 Wenn Sie von einer Hauptversion auf die nächste upgraden, müssen alle Komponenten gleichzeitig ersetzt werden, da sich in der Regel das Übertragungs-Protokoll zwischen den Dämonen ändert. Innerhalb eines bestimmten Release (z.B. Version 1.32.x) wird sich das Dämon-Protokoll jedoch nicht ändern solange nicht ein Bug oder ein Versehen zu beheben ist. Wenn das alles für Sie verwirrend ist, lesen Sie einfach die ReleaseNotes sehr sorgfältig. Es wird hier stehen, wenn alle Dämonen gleichzeitig upgegraded werden müssen.
62 Beachten Sie schließlich, dass es in der Regel nicht notwendig ist, vor dem Upgrade ein {\bf make uninstall} auszuführen. Tatsächlich werden Sie so sehr wahrscheinlich alle ihre Konfigurationsdateien zerstören, was verheerend sein könnte.
63 Die normale Upgrade-Prozedur besteht einfach in der Eingabe von {\bf make install}.
64 Im allgemeinen werden dabei keine Ihrer ``.conf''- oder ``.sql''-Dateien überschrieben.
66 Weiteres zum Upgraden lesen sie im Abschnitt \ilink{Upgrading Bacula Versions}{upgrading} im Kapitel ``Tips'' in diesem Handbuch.
68 \subsection*{Dependency-Packages}
70 \index[general]{Dependency-Packages }
71 \index[general]{Packages!Dependency }
72 \addcontentsline{toc}{subsection}{Dependency-Packages}
74 Wie oben erwähnt, haben wir einige Pakete von Drittanbietern, die Bacula möglicherweise benötigt, in den Releases {\bf depkgs} und {\bf depkgs1} zusammengefasst. Natürlich kö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ät zu Bacula getestet wurden.
76 Typischerweise heißen die Dependency-Packages {\bf depkgs-ddMMMyy.tar.gz} und
77 {\bf depkgs1-ddMMyy.tar.gz} wobei {\bf dd} der Tag, {\bf MMM} der Monat in abgekü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ötigt wird) gehen Sie wie folgt vor:
80 \item Erstellen sie ein {\bf bacula}-Verzeichnis, in das Sie sowohl die Bacula-Quelldateien als auch das Dependency-Packages legen.
81 \item Entpacken Sie das {\bf depkg} mit ``detar'' in das {\bf bacula}-Verzeichnis.
82 \item cd bacula/depkgs
86 Die genaue Zusanmmensetzung der Dependency-Packages wird sich von Zeit zu Zeit ändern. Momentan sehen sie so aus:
88 \addcontentsline{lot}{table}{Dependency-Packages}
89 \begin{longtable}{|l|l|l|l|}
91 \multicolumn{1}{|c| }{\bf Drittanbieterpaket } & \multicolumn{1}{c| }{\bf
92 depkgs } & \multicolumn{1}{c| }{\bf depkgs1 } & \multicolumn{1}{c| }{\bf
94 \hline {SQLite } & \multicolumn{1}{c| }{X } & \multicolumn{1}{c| }{- } &
95 \multicolumn{1}{c| }{- } \\
96 \hline {mtx } & \multicolumn{1}{c| }{X } & \multicolumn{1}{c| }{- } &
97 \multicolumn{1}{c| }{- } \\
98 \hline {readline } & \multicolumn{1}{c| }{- } & \multicolumn{1}{c| }{X } &
99 \multicolumn{1}{c| }{- } \\
100 \hline {pthreads } & \multicolumn{1}{c| }{- } & \multicolumn{1}{c| }{- } &
101 \multicolumn{1}{c| }{X } \\
102 \hline {zlib } & \multicolumn{1}{c| }{- } & \multicolumn{1}{c| }{- } &
103 \multicolumn{1}{c| }{X } \\
104 \hline {wxWidgets } & \multicolumn{1}{c| }{- } & \multicolumn{1}{c| }{- } &
105 \multicolumn{1}{c| }{X }
111 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ächlich benötigt.
113 Alternativ können Sie nur jene Pakete kompilieren, die Sie tatsächlich benötigen. Beispielsweise wird
122 nur das ``SQLite''-Paket konfigurieren und kompilieren.
124 Sie sollten die benötigten Pakete aus {\bf depkgs} und/oder {\bf depkgs1} kompilieren bevor Sie Bacula konfigurieren und kompilieren, da Bacula diese während seiner eigenen Kompilierung benötigt.
126 Auch wenn Sie SQLite nicht verwenden, könnte es sich für Sie lohnen {\bf mtx} zu kompilieren, da das enthaltenen {\bf tapeinfo}-Programm oft wertvolle Informationen über Ihr SCSI-Bandlaufwerk (z.B. Kompression, min./max. Blockgröße...) liefern kann.
128 Das {\bf depkgs-win32}-Paket enthält den Qullcode der ``Pthreads''-, ``wxWidgets''- und ``zlib''-Bibliotheken, die das Win32-Clientprogramm verwendet. Man benötigt diese nur, wenn Sie das Win32-Programm selbst kompilieren wollen.
130 \subsection*{Unterstützte Betriebssysteme}
132 \index[general]{Betriebssysteme!Unterstützte }
133 \index[general]{Unterstützte Betriebssysteme }
134 \addcontentsline{toc}{subsection}{Unterstützte Betriebssysteme}
136 Lesen sie bitte den Abschnitt
137 \ilink{Unterstützte Betriebssysteme}{SupportedOSes} im Kapitel
138 ``QuickStart'' dieses Handbuches.
140 \subsection*{Bacula aus dem Quellcode kompilieren}
142 \index[general]{Quellcode!Kompilation von Bacula aus dem }
143 \index[general]{Bacula aus dem Quellcode kompilieren}
144 \addcontentsline{toc}{subsection}{Bacula aus dem Quellcode kompilieren}
146 Die Grundinstallation ist ziehmlich einfach.
149 \item Installieren und kompilieren sie alle benötgten {\bf depkgs} wie oben beschrieben.
150 \item Konfigurieren und installieren Sie ``MySQL'' oder ``PostgreSQL'' (wenn gewünscht)
151 \ilink{Installation und Konfiguration von MySQL Phase I}{_ChapterStart} oder
152 \ilink{Installation und Konfiguration von PostgreSQL Phase I}{_ChapterStart10}. Wenn Sie für die Installation von ``MySQL'' ein RPM verwenden, müssen Sie auch {\bf mysql-devel} installieren, so dass die Header-Dateien verfügbar sind, wenn Sie Bacula kompilieren. Zusä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üssen Sie das {\bf zlib1g-dev}-Paket laden. Wenn Sie weder RPMs noch debs verwenden, müssen Sie die passenden Pakete für Ihr System selbst finden.
153 Wenn auf Ihrem System schon MySQL oder PostgreSQL läuft, können Sie diese Phase überspringen, wenn Sie ``thread safe''-Bibliotheken kompiliert und die oben erwähnten zusätzlichen RPMs installiert haben.
155 \item Anstatt ``MySQL'' und ``PostgreSQL'' können Sie auch SQLite konfigurieren und installieren \ilink{Installation und Konfiguration von SQLite}{_ChapterStart33}. Dessen Quellcode ist Teil des {\bf depkgs}-Paketes.
156 \item Entpacken sie Baculas Quellcode vorzugsweise in das {\bf bacula}-Verzeichnis, welches oben erwähnt wurde.
157 \item Wechseln ({\bf cd}) Sie in das Verzeichnis mit dem Quellcode.
158 \item Führen Sie \textbf{./configure} aus (mit den entsprechenden Konfigurationsoptionen, die weiter unten näher beschrieben sind.
159 \item Prüfen Sie die Ausgabe des \textbf{./configure}-Befehls sehr sorgfä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.
160 \item Wenn Sie Optionen ändern, nachdem \textbf{./configure} gelaufen war und Sie es neu starten müssen, geben Sie vorher das folgende ein.
168 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ßteil der Informationen zwischenspeichert. {\bf make distclean} ist auch sehr wichtig, wenn Sie die Quellverzeichnisse auf einen anderen Rechner verlagern. Schlägt der Befehl fehl, ignorieren Sie das einfach und machen mit
174 Wenn es hierbei Fehlermeldungen beim Linken in das Verzeichnis (src/stored) des Storage-Dä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.
179 Wenn Sie ein Bacula-Neuling sind, empfehlen wir \textbf{dringend}, den nächsten Schritt zu überspringen und die Vorgabe-Konfigurationsdateien zu verwenden. Probieren Sie damit das Beispiel im nächsten Kapitel aus und ändern sie danach Ihre Konfigurationsdateien, so dass sie Ihren eigenen Anforderungen entsprechen.
181 \item Passen Sie die Konfigurationsdateien aller drei Dä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ügten Vorgabe-Konfigurationsdateien zunächst nur soviel zu ändern wie unbedingt notwendig ist. Eine endgültige Anpassung ist immer noch möglich, wenn Bacula zuverlässig läuft. Passen Sie bitte auf, wenn sie die (zufällig generierten) Passwörter und die {\bf Name}n verändern. Aus Sicherheitsgründen müssen diese in den Konfigurationsdateien übereinstimmen.
183 \item Erzeugen Sie die Datenbank und die Tabellen fü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}).
185 \item Starten Sie Bacula ({\bf ./bacula start}). Im nächsten Kapitel wird dies im einzelnen erklärt.
186 \item Kommunizieren Sie mit Bacula über das Console-Programm.
188 \item Folgen Sie für die letzten beiden Punkte den Anweisungen im Kapitel \ilink{Running Bacula}{_ChapterStart1} diese Handbuches, wo Sie eine einfache Sicherung und eine Wiederherstellung durchführen. Tun Sie dies bevor Sie die Konfiguratinsdateien in größerem Umfang verändern, so dass Sie sicher sein können, dass Bacula funktioniert und Sie damit vertraut sind. Danach wird es einfacher sein, die Konfigurationsdateien anzupassen.
190 \item Wenn Sie nach der Installation beschließen, mit Bacula ``umzuziehen'', d.h. es in anderen Verzeichnissen installieren zu wollen, gehen Sie wie folgt vor:
196 ./configure (mit-den-neuen-Optionen)
204 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ützt. Von MacOS X 10.3 wird berichtet, dass der Client nur dann darauf läuft, wenn die readline-Unterstützung deaktiviert ist.
206 Wenn Sie Bacula auf mehr als einem System installieren, können Sie einfach den Verzeichnisbaum des Quellcodes auf den anderen Rechner übertragen und ein ``make install'' ausfü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 übertragen und den ./configure-Befehl schon ausgeführt haben, müssen Sie unbedingt
214 ausfü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önnen Sie sicher sein, dass die Kompilierung fehlschlägt. Um dies zu vermeiden starten Sie entweder mit der tar-Datei oder führen ``make distclean'' aus, wie oben erwähnt.
216 Gewöhnlich werden Sie einen etwas komplizierteren {\bf configure}-Befehl absetzen wollen, um sicher zu gehen, dass die von Ihnen gewünschten Module kompiliert werden und alles in den richtigen Verzeichnissen abgelegt wird.
218 Auf RedHat zum Beispiel könnte ``./configure'' so aussehen:
224 --sbindir=$HOME/bacula/bin \
225 --sysconfdir=$HOME/bacula/bin \
226 --with-pid-dir=$HOME/bacula/bin/working \
227 --with-subsys-dir=$HOME/bacula/bin/working \
228 --with-mysql=$HOME/mysql \
229 --with-working-dir=$HOME/bacula/bin/working \
230 --with-dump-email=$USER
235 Beachten Sie bitte, dass der Vorteil der Verwendung der obigen Konfiguration für den Anfang darin liegt, dass hierbei alles in ein einziges Verzeichnis geschrieben wird, welches später gelöscht werden kann, wenn Sie die Beispiele des nächsten Kapitels ausgeführt und gelernt haben wie Bacula funktioniert. Ausserdem kann das Obige auch ohne root-Rechte installiert und ausgeführt werden.
237 Um den Entwicklern die Arbeit zu erleichtern, haben wir dem Verzeichnis {\bf examples} ein {\bf defaultconfig}-Skript beigefügt. Diese Skript enthält alle Statements, die man normalerweise benutzt und jeder Entwickler oder Benutzer kann sie nach seinen Bedürfnissen verändern. In diesem Verzeichnis sind auch andere nützliche Beispiele.
239 Die \textbf{./configure}-Schalter {\bf \verb{--{enable-conio} oder {\bf \verb{--{enable-readline} sind nützlich, da man dadurch eine Kommandozeilen-History und ein Editorfunktionen für die Kommandozeile des Console-Programms erhält. Wenn Sie eine dieser Optionen verwenden, benö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
243 /usr/lib/gcc-lib/i586-suse-linux/3.3.1/.../ld:
244 cannot find -ltermcap
245 collect2: ld returned 1 exit status
249 während Sie die Bacula-Console kompilieren. In diesem Fall müsssen Sie die {\bf
250 LDFLAGS}-Umgebungsvariable vor der Kompilierung wie folgt setzen:
254 export LDFLAGS="-L/usr/lib/termcap"
258 Die gleichen Erfordernisse an die Systembibliothek gelten, wenn sie die ``Readline''-Subroutinen für das Editieren und die History der Kommandozeile benutzen wollen oder eine MySQL-Bibliothek, die Verschlüsselung erfordert. Wenn Sie Verschlüsselung benötigen, können Sie entweder die entsprechenden zusätzlichen Bibliotheks-Pfade wie oben gezeigt setzen oder wie unten gezeigt direkt in der Befehlzeile des Befehls mit angeben.
262 LDFLAGS="-lssl -lcyrpto" \
268 Auf manchen Systemen wie Mandriva neigt ``readline'' dazu, die Eingaben zu verstümmeln, was es völlig unbrauchbar macht. Wenn das bei Ihnen geschieht, wählen Sie die Option ab oder, wenn Sie Version 1.33 oder hö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ötigen, doch es ist unwahrscheinlich, dass das {\bf conio}-Paket Ihre Eingaben dann verstümmelt.
270 ``readline'' wird ab Version 1.34. nicht weiter unterstützt. Der Code ist noch verfügbar und wenn Benutzer dafür Patches schicken, wird es mir ein Vergnügen sein, diese einzubauen. Da jedoch jede Version von ``readline'' mit den Vorgängerversionen inkompatibel zu sein scheint und zwischen den Systemen wesentliche Unterschiede bestehen, kann ich es mir nicht mehr länger leisten, es zu unterstützen.
272 \subsection*{Welches Datenbanksystem soll verwendet werden?}
274 \index[general]{Welches Datenbanksystem soll verwendet werden? }
275 \index[general]{verwenden!Welches Datenbanksystem }
276 \addcontentsline{toc}{subsection}{Welches Datenbanksystem soll verwendet werden?}
278 Vor der Kompilierung von Bacula müssen Sie sich entscheiden, ob Sie SQLite, MySQL oder
279 PostgreSQL verwenden werden. Wenn bei Ihnen nicht sowieso schon MySQl oder PostgrSQL lä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ür kleine bis mittlere Installationen gut geeignet (maximal 10 bis 20 Rechner).
280 Allerdings sollten wir erwähnen, dass einige unserer Benutzer mit SQLite unerklärliche Datenbankkorruptionen hatten. Für ein Produktiv-System empfehlen wir daher die Installation von MySQL oder PostgreSQL:
282 Wenn Sie fü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üssen, bevor Sie Bacula konfigurieren. MySQL ist ein Datenbanksystem von hoher Qualität, das sehr effizient arbeitet und für Installationen jeder Größe geeignet ist. Seine Einrichtung und Administration sind ein wenig komplizierter als die von SQLite, da es einige Besonderheiten wie userids und Passwörter bietet. Es läuft als eigenständiger Prozess, ist wirklich professionell und kommt mit Datenbanken jeder Größe zurecht.
284 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 ähnlich, dabei aber eher etwas mehr SQL92-kompatibel und hat viele Features wie ``Transaktionen'', ``Stored Procedures'' und ähnliches. Man braucht eine gewisses Erfahrung, um es zu installieren und zu warten.
286 Wenn Sie als Bacula Catalog SQLite verwenden wollen, lesen Sie bitte das Kapitel \ilink{SQLite installieren und konfigurieren}{_ChapterStart33} in diesem Handbuch.
288 \subsection*{Quick Start}
289 \index[general]{Quick Start }
290 \index[general]{Start!Quick }
291 \addcontentsline{toc}{subsection}{Quick Start}
293 Unten werden nun einige Optionen und wichtige Vorüberlegungen ausgeführt, die Sie jedoch für den Moment überspringen können, wenn Sie mit der vereinfachten Konfiguration, wie sie oben gezeigt wurde, keine Probleme hatten.
295 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ührten Optionsschalter ein Suchpfad ü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'').
297 Wenn Sie richtig loslegen wollen, empfehlen wir, zum nächsten Kapitel weitergehen und das Beispielprogramm zum Laufen zu bringen. Es wird Sie viel über Bacula lehren und kann zum Ausprobieren in ein einzelnes Verzeichnis installiert (um es auf einfache Art wieder löschen zu können) und ohne root-Rechte betrieben werden. Wenn irgendwelche Probleme auftreten oder Sie richtig installieren wollen, kehren Sie zu diesem Kapitel zurück und lesen Sie die Einzelheiten, die nun folgen.
299 \subsection*{Konfigurationsoptionen}
301 \index[general]{Optionen!der Konfiguration }
302 \index[general]{Konfigurationsoptionen }
303 \addcontentsline{toc}{subsection}{Konfigurationsoptionen}
305 Um Ihre Installation anzupassen, hat der {\bf configure}-Befehl die folgenden Kommandozeilen-Schalter.
309 \item [{-}{-}sysbindir=\lt{}Pfad/zu/den/Programmdateien\gt{}]
310 \index[general]{--sysbindir }
311 Legt fest, in welches Verzeichnis die Bacula Programmdateien bei Ausführung des {\bf make install}-Befehls installiert werden.
313 \item [{-}{-}sysconfdir=\lt{}Pfad/zu/den/Konfigurationsdateien\gt{}]
314 \index[general]{--sysconfdir }
315 Legt fest, in welches Verzeichnis die Bacula Konfigurationsdateien bei Ausführung des {\bf make install}-Befehls installiert werden.
317 \item [ {-}{-}mandir=\lt{}path\gt{}]
318 \index[general]{{-}{-}mandir}
319 Vorgabemäßig installiert Bacula eine einfache Unix-manpage in ``/usr/share/man''. Soll die manpage an einen anderen Ort, können Sie mit dieser Option einen Pfad setzen. Beachten Sie bitte, dass die Bacula-Handbücher (HTML- und PDF-Dateien) Bestandteil eines eigenen tar-Files sind, das nicht Bestandteil des Quellcode-Releases ist.
321 \item [ {-}{-}datadir=\lt{}path\gt{}]
322 \index[general]{{-}{-}datadir}
323 Wenn Sie Bacula oder Teile davon übersetzen wollen, können Sie die ``{\bf
324 {-}{-}datadir}''-Option verwenden um den Speicherort der ``po''-Dateien festzulegen. Die ``po''-Dateien müssen ``von Hand'' installiert werden, da Bacula dies (noch) nicht automatisch tut.
326 \item [{-}{-}enable-smartalloc ]
327 \index[general]{--enable-smartalloc }
328 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.
330 \item [{-}{-}enable-gnome ]
331 \index[general]{--enable-gnome }
332 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.
334 \item [{-}{-}enable-wx-console ]
335 \index[general]{--enable-wx-console }
336 Wenn auf Ihrem Rechner wxWidgets installiert ist und sie das grafische wxWidgets Console-Interface benutzen wollen, müssen Sie diesen Schalter setzen. Hierdurch wird alles im Verzeichnis {\bf src/wx-console} kompiliert. Dies kann auch für Benutzer hilfreich sein, die eine grafische Konsole benutzen, aber GNOME nicht installieren wollen, da wxWidgets mit GTK+-, Motif- und sogar X11-Bibliotheken läuft
338 \item [{-}{-}enable-tray-monitor ]
339 \index[general]{--enable-tray-monitor }
340 Wenn Sie auf Ihrem Rechner GTK installiert haben und eine grafische Umgebung oder einen Window-Manager benutzen, der dem Standard für die System-Tray von FreeDesktop entspricht (wie KDE oder GNOME) und wenn sie Ihre GUI benutzen wollen, um die Bacula-Dämonen zu überwachen, sollten sie diesen Schalter setzen. Ist er gesetzt, wird alles im Verzeichnis {\bf src/tray-monitor} kompiliert.
342 \item [{-}{-}enable-static-tools]
343 \index[general]{--enable-static-tools }
344 Durch Setzen dieses Schalters werden die Hilfsprogramme des Storage-Dä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önnen durch Setzen des Schalters {\bf \verb{--{disable-static-tools} das statische Linken auch explizit unterdrücken.
346 \item [{-}{-}enable-static-fd]
347 \index[general]{--enable-static-fd }
348 Durch diese Option kompiliert der make-Prozess zusätzlich zum Standard File-Dämon einen statischen Bacula File-Dämon. Diese statische Version hat alle benötigten Bibliotheken statisch gelinkt und wird fü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ühren kann. Daneben ist auch die unten beschriebene Option {\bf \verb{--{enable-client-only} nützlich, wenn man nur einen einzelnen Client kompilieren will und die übrigen Programmteile nicht.
350 Wird ein statisches Programm gelinkt, benötigt der Linker alle verwendeten Bibliotheken in statischen Versionen. Benutzer, die diese Option häufiger verwenden, werden auch häufiger Linker-Fehler haben. Als Erstes sollte man dann überprüfen, ob auf dem System eine statische ``glibc''-Bibliothek installiert ist. Als nächstes sollte man `./configure'' ohne die Optionen {\bf {-}{-}openssl} und {\bf {-}{-}with-python} aufrufen, da hierbei zusätzliche Bibliotheken benötigt werden. Man kann diese Optionen verwenden, doch muss man dann zusätzliche statische Bibliotheken laden.
352 \item [{-}{-}enable-static-sd]
353 \index[general]{--enable-static-sd }
354 Damit wird zusätzlich zum Standard-Storage-Dämon ein statischer Storage-Dämon kompiliert. Die statische Version hat die Bibliotheksfunktionen fest eingebaut und ist bei der Datenwiederherstellung im Notfall hilfreich.
356 Wird ein statisches Programm gelinkt, benötigt der Linker alle verwendeten Bibliotheken in statischen Versionen. Benutzer, die diese Option häufiger verwenden, werden auch häufiger Linker-Fehler haben. Als Erstes sollte man dann überprüfen, ob auf dem System eine statische ``glibc''-Bibliothek installiert ist. Als nächstes sollte man `./configure'' ohne die Optionen {\bf {-}{-}openssl} und {\bf {-}{-}with-python} aufrufen, da hierbei zusätzliche Bibliotheken benötigt werden. Man kann diese Optionen verwenden, doch muss man dann zusätzliche statische Bibliotheken laden.
358 \item [{-}{-}enable-static-dir]
359 \index[general]{--enable-static-dir }
360 Damit wird zusätzlich zum Standard-Director ein statischer Director kompiliert. Die statische Version hat die Bibliotheksfunktionen fest eingebaut und ist bei der Datenwiederherstellung im Notfall hilfreich.
362 Wird ein statisches Programm gelinkt, benötigt der Linker alle verwendeten Bibliotheken in statischen Versionen. Benutzer, die diese Option häufiger verwenden, werden auch häufiger Linker-Fehler haben. Als Erstes sollte man dann überprüfen, ob auf dem System eine statische ``glibc''-Bibliothek installiert ist. Als nächstes sollte man `./configure'' ohne die Optionen {\bf {-}{-}openssl} und {\bf {-}{-}with-python} aufrufen, da hierbei zusätzliche Bibliotheken benötigt werden. Man kann diese Optionen verwenden, doch muss man dann zusätzliche statische Bibliotheken laden.
364 \item [{-}{-}enable-static-cons]
365 \index[general]{--enable-static-cons }
366 Damit werden zusä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.
368 Wird ein statisches Programm gelinkt, benötigt der Linker alle verwendeten Bibliotheken in statischen Versionen. Benutzer, die diese Option häufiger verwenden, werden auch häufiger Linker-Fehler haben. Als Erstes sollte man dann überprüfen, ob auf dem System eine statische ``glibc''-Bibliothek installiert ist. Als nächstes sollte man `./configure'' ohne die Optionen {\bf {-}{-}openssl} und {\bf {-}{-}with-python} aufrufen, da hierbei zusätzliche Bibliotheken benötigt werden. Man kann diese Optionen verwenden, doch muss man dann zusätzliche statische Bibliotheken laden.
370 \item [{-}{-}enable-client-only]
371 \index[general]{--enable-client-only }
372 Durch Setzen dieses Schalters werden nur der File-Dämon und die von ihm benötigten Bibliotheken kompiliert. Keiner der anderen Dämonen, nicht die Sicherungswerkzeuge oder die Console werden kompiliert. Daher wird mit dem Befehl {\bf make install} auch nur der File-Dämon installiert. Um alle Dämonen zu kompilieren, müssen Sie eine Konfiguration ohne diese Option verwenden. Mit dieser Option wird die Kompilierung nur eines Client-Prozesses auf einem Client-Rechner sehr erleichtert.
374 Wird ein statisches Programm gelinkt, benötigt der Linker alle verwendeten Bibliotheken in statischen Versionen. Benutzer, die diese Option häufiger verwenden, werden auch häufiger Linker-Fehler haben. Als Erstes sollte man dann überprüfen, ob auf dem System eine statische ``glibc''-Bibliothek installiert ist. Als nächstes sollte man `./configure'' ohne die Optionen {\bf {-}{-}openssl} und {\bf {-}{-}with-python} aufrufen, da hierbei zusätzliche Bibliotheken benötigt werden. Man kann diese Optionen verwenden, doch muss man dann zusätzliche statische Bibliotheken laden.
376 \item [{-}{-}enable-largefile]
377 \index[general]{--enable-largefile }
378 Mit diesem Schalter (voreingestellt) wird Bacula mit der Unterstützung für 64 Bit breite Adressen kompiliert, sofern dies Ihr Rechner unterstützt. Damit kann Bacula Dateien lesen und schreiben, die größer sind als 2 GBytes. Dieses Feature kann durch setzen des Schalters {\bf \verb{--{disable-largefile} abgewählt werden. Damit sind nur 32 Bit breite Adressen möglich.
380 \item [ {-}{-}disable-nls]
381 \index[general]{{-}{-}disable-nls}
382 Vorgabemäßig verwendet Bacula ``GNU Native Language Support''-Bibliotheken (NLS). Auf manchen Rechnern sind diese Bibliotheken nicht verfügbar oder funktionieren nicht richtig (beonders auf nicht-Linux Implementierungen). In diesen Fällen kann man durch Setzen von {\bf {-}{-}disable-nls} die Verwendung dieser Bibliotheken unterbinden. In diesem Fall benutzt Bacula Englisch.
384 \item [{-}{-}with-sqlite=\lt{}Pfad/zu/SQLite\gt{}]
385 \index[general]{--with-sqlite }
386 Mit dieser Option wird die Benutzung eines SQlite-Datenbanksystems ermöglicht. Da Bacula an einem Standard-Speicherort ({\bf depkgs/sqlite}) sucht, wird der Pfad {\bf sqlite-path} normalerweise nicht angegeben. Näheres hierzu im Kapitel \ilink{SQLite installieren and konfigurieren }{_ChapterStart33} in diesem Handbuch.
387 Beachten Sie auch den Hiinweis zur Option ``{-}{-}with-postgresql''.
389 \item [ {-}{-}with-sqlite3=\lt{}Pfad/zu/sqlite3\gt{}]
390 \index[general]{{-}{-}with-sqlite3 }
391 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ötigten Komponenten an den Standardspeicherorten ({\bf depkgs/sqlite3}) sucht. Im Kapitel \ilink{SQLite installieren und konfigurieren}{_ChapterStart33} dieses Handbuches finden sie weitere Einzelheiten.
393 \item [{-}{-}with-mysql=\lt{}Pfad/zu/MySQL\gt{}]
394 \index[general]{--with-mysql }
395 Mit dieser Option werden die Catalog-Dienste für Bacula kompiliert. Sie setzt voraus, dass MySQL bereits auf Ihrem Rechner lä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ö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.
397 \item [{-}{-}with-postgresql=\lt{}Pfad/zu/PostgreSQL\gt{}]
398 \index[general]{--with-postgresql }
399 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}.
401 Um Bacula richtig zu konfigurieren, muss eine der vier unterstützten Datenbank-Optionen spezifiziert sein. Entweder also
402 ``{-}{-}with-sqlite'', ``{-}{-}with-sqlite3'', ``{-}{-}with-mysql'' oder `{-}{-}with-postgresql''. Andernfalls wird der ``./configure''-Prozess fehlschlagen.
404 \item [ {-}{-}with-openssl=\lt{}path\gt{}]
405 Diese Schalter wird benö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ämonprozessen. Weitere Informationen zur Verwendung von TLS im Kapitel \ilink{Bacula TLS}{_ChapterStart61} in diesem Handbuch.
407 \item [ {-}{-}with-python=\lt{}Pfad/zu/Python\gt{}]
408 \index[general]{{-}{-}with-python }
409 Mit diese Option wird die Bacula-Unterstützung fü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.
411 \item [ {-}{-}with-libintl-prefix=\lt{}DIR\gt{}]
412 \index[general]{{-}{-}with-libintl-prefix}
413 Mit dieser Option durchsucht Bacula die Verzeichnisse ``DIR/include'' und ``DIR/lib'' nach den ``libintl''-Headern und -Bibliotheken, die es für den ``Native Language Support'' (NLS) benötigt.
415 \item [{-}{-}enable-conio]
416 \index[general]{--enable-conio }
417 Teilt Bacula mit, die kleine, leichtgewichtige, ``readline'' ersetzende Routine zu kompilieren. Diese ist im allgemeinen sehr viel einfacher zu konfigurieren als ``readline'', benötigt aber entweder die ``termcap''- oder ``ncurses''-Bibliothek.
419 \item [{-}{-}with-readline=\lt{}Pfad/zu/readline\gt{}]
420 \index[general]{--with-readline }
421 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öglich. Readline wird nicht mehr unterstützt. Sie sind daher bei Problemen auf sich allein gestellt.
423 \item [ {-}{-}enable-readline]
424 \index[general]{--enable-readline }
425 Damit wird Bacula mitgeteilt, die Readline-Unterstütung zu ermöglichen. Das Paket scheint sich in inkompatibler Weise von Version zu Version zu ändern. Daher ist wegen der Vielzahl der Konfigurationsprobleme dieser Schalter normalerweise nicht gesetzt.
427 \item [{-}{-}with-tcp-wrappers=\lt{}Pfad/zur/TCP-Wrapper/Bibliothek\gt{}]
428 \index[general]{--with-tcp-wrappers }
429 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ä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.
430 Beachten Sie bitte, dass Sie beim Einrichten Ihrer {\bf /etc/hosts.allow}- und {\bf /etc/hosts.deny}-Dateien die infrage kommenden Bacula-Dämonen mit deren Namen aus der Konfigurationsdatei und nicht mit deren jeweiligen Programmnamen bezeichnen.
432 Weitere Informationen zur Konfiguration und zum Test der TCP-Wrapper im Abschnitt \ilink{TCP Wrapper konfigurieren und testen}{wrappers} des Kapitels zur Sicherheit.
434 \item [{-}{-}with-working-dir=\lt{}Pfad/zum/Arbeitsverzeichnis\gt{} ]
435 \index[general]{--with-working-dir }
436 Die Angabe dieser Option ist zwingend und spezifizert das Verzeichnis, in welches Bacula zwischen seinen Ausfü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ämonen zu verändern. Das Gleiche erreichen Sie, wenn Sie die Konfigurationsdateien nachträglich ändern. Das Arbeitsverzeichnis wird bei der Installation nicht automatisch erstellt, so dass Sie sicherstellen müssen, dass es vor der ersten Benutzung von Bacula vorhanden ist.
438 \item [{-}{-}with-base-port=\lt{}Port=Nummer\gt{}]
439 \index[general]{--with-base-port }
440 Um funktioniern zu können, benötigt Bacula drei TCP/IC-Ports (einen für die Bacula-Console, einen für den Storage-Dämon und einen für den File-Dä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önnen Sie die Portnummern ändern. Sie müssen jedoch aufpassen, dass die Nummern in allen drei Konfigurationsdateien genau ü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ändern Sie nur die Konfigurationsdateien. Diese können Sie auch nach der Installation noch verändern.
442 \item [{-}{-}with-dump-email=\lt{}E-mail-Adresse\gt{}]
443 \index[general]{--with-dump-email }
444 Dieser Schalter spezifiziert die E-Mail-Adresse an die alle ``core dumps'' gesendet werden und wird normalerweise nur von Entwicklern verwendet.
446 \item [{-}{-}with-pid-dir=\lt{}Pfad\gt{} ]
447 \index[general]{--with-pid-dir }
448 Damit wird jenes Verzeichnis spezifiziert, in welchem Bacula die Datei mit den Prozess-IDs während seiner Ausführung ablegt. Vorgabemäß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.
450 \item [{-}{-}with-subsys-dir=\lt{}Pfad\gt{}]
451 \index[general]{--with-subsys-dir }
452 Dieser Schalter spezifiziert den Ort, an dem Bacula die Subsystem-Lock Datei während seiner Ausführung ablegt. Vorgabe ist {\bf /var/run/subsys}. Stellen Sie sicher, dass sie hierfü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üssen, dass es erstellt ist, bevor Sie Bacula verwenden.
454 \item [{-}{-}with-dir-password=\lt{}Passwort\gt{}]
455 \index[general]{--with-dir-password }
456 Mit diesem Schalter kann ein Passwort für den Zugang (in der Regel über das Console-Programm) zum Director spezifiziert werden. Ist der Schalter nicht gesetzt, generiert der Konfigurationsprozess ein zufälliges Passwort.
458 \item [{-}{-}with-fd-password=\lt{}Passwort\gt{} ]
459 \index[general]{--with-fd-password }
460 Mit diesem Schalter kann ein Passwort für den Zugang zum File-Dämon spezifiziert werden (normalerweise vom Director aufgerufen). Wenn es nicht spezifiziert wurde, generiert der Konfigurationsprozess ein zufälliges Passwort.
462 \item [{-}{-}with-sd-password=\lt{}Passwort\gt{} ]
463 \index[general]{--with-sd-password }
464 Mit diesem Schalter kann ein Passwort für den Zugang zum Storage-Dämon spezifiziert werden (normalerweise vom Director aufgerufen). Wenn es nicht spezifiziert wurde, generiert der Konfigurationsprozess ein zufälliges Passwort.
466 \item [{-}{-}with-dir-user=\lt{}User\gt{} ]
467 \index[general]{--with-dir-user }
469 Durch Setzen dieses Schalters kann die User-ID festgelegt werden unter welcher der Director läuft. Der Director-Prozess muss als root gestartet werden, doch muss er nicht unter root laufen. Nach den ersten Initialisierungen kann er dem User übergeben werden, dessen ID Sie hier spezifizieren.
471 \item [ {-}{-}with-dir-group=\lt{}Group\gt{} ]
472 \index[general]{--with-dir-group }
474 Durch Setzen dieses Schalters kann die Group-ID festgelegt werden unter welcher der Director läuft. Der Director-Prozess muss als root gestartet werden, doch muss er nicht unter root laufen. Nach den ersten Initialisierungen kann er der Gruppe übergeben werden, deren ID Sie hier spezifizieren.
476 \item [{-}{-}with-sd-user=\lt{}User\gt{} ]
477 \index[general]{--with-sd-user }
478 Mit diesem Schalter kann die User-ID festgelegt werden unter welcher der Storage-Dämon läuft. Der Storage-Dämon muss als root gestartet werden, doch muss er nicht unter root laufen. Nach den ersten Initialisierungen kann er dem User übergeben werden, dessen ID Sie hier spezifizieren. Wenn Sie diese Option verwenden, müssen Sie auch sicherstellen, dass der Storageprozess alle Geräte(Bandlaufwerke, usw.) verwenden darf, die er benötigt.
480 \item [{-}{-}with-sd-group=\lt{}Group\gt{} ]
481 \index[general]{--with-sd-group }
482 Durch Setzen dieses Schalters kann die Group-ID festgelegt werden unter welcher der Storage-Dämon läuft. Der Storage-Dämon muss als root gestartet werden, doch muss er nicht unter root laufen. Nach den ersten Initialisierungen kann er der Gruppe übergeben werden, deren ID Sie hier spezifizieren.
484 \item [{-}{-}with-fd-user=\lt{}User\gt{} ]
485 \index[general]{--with-fd-user }
486 Durch Setzen dieses Schalters kann die User-ID festgelegt werden unter welcher der File-Dämon läuft. Der File-Dämon muss als root gestartet werden und muss in den meisten Fällen auch unter root laufen. In ganz besonderen Fällen kann mit dieser Option der File-Dämon-Prozess nach den ersten Initialisierungen einem User übergeben werden, dessen ID Sie hier spezifizieren.
488 \item [{-}{-}with-fd-group=\lt{}Group\gt{} ]
489 \index[general]{--with-fd-group }
490 Durch Setzen dieses Schalters kann die Group-ID festgelegt werden unter welcher der File-Dämon läuft. Der File-Dämon muss als root gestartet werden und muss in den meisten Fällen auch unter root laufen. Trotzdem kann der File-Dämon-Prozess nach den ersten Initialisierungen der Gruppe übergeben werden, deren ID Sie hier spezifizieren.
494 Beachten Sie bitte, dass durch Eingabe von {\bf ./configure \verb{--{help} noch viele andere Optionen angezeigt werden, diese aber bislang nicht implementiert sind.
496 \subsection*{Optionen, die wir für die meisten Systeme empfehlen}
497 \index[general]{Systeme!Empfohlenen Optionen für die meisten }
498 \index[general]{Optionen, die wir für die meisten Systeme empfehlen }
499 \addcontentsline{toc}{subsection}{Optionen, die wir für die meisten Systeme empfehlen}
501 Wir empfehlen für die meisten Systeme mit folgenden Optionen zu beginnen:
506 --enable-smartalloc \
507 --sbindir=$HOME/bacula/bin \
508 --sysconfdir=$HOME/bacula/bin \
509 --with-pid-dir=$HOME/bacula/bin/working \
510 --with-subsys-dir=$HOME/bacula/bin/working \
511 --with-mysql=$HOME/mysql \
512 --with-working-dir=$HOME/bacula/working
516 Wenn Sie Bacula lieber in ein Installationsverzeichnis installieren wollen, als es aus seinem Kompilationsverzeichnis heraus zu betreiben (wie es Entwickler tun) mü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üssen selbst sicherstellen, dass diese existieren, bevor Bacula das erste Mal läuft. Es folgt ein Beispiel dafür wie Kern das tut.
519 \index[general]{RedHat }
520 \addcontentsline{toc}{subsection}{RedHat}
522 Bei der Verwendung von SQLite:
527 CFLAGS="-g -Wall" ./configure \
528 --sbindir=$HOME/bacula/bin \
529 --sysconfdir=$HOME/bacula/bin \
530 --enable-smartalloc \
531 --with-sqlite=$HOME/bacula/depkgs/sqlite \
532 --with-working-dir=$HOME/bacula/working \
533 --with-pid-dir=$HOME/bacula/bin/working \
534 --with-subsys-dir=$HOME/bacula/bin/working \
545 CFLAGS="-g -Wall" ./configure \
546 --sbindir=$HOME/bacula/bin \
547 --sysconfdir=$HOME/bacula/bin \
548 --enable-smartalloc \
549 --with-mysql=$HOME/mysql \
550 --with-working-dir=$HOME/bacula/working
551 --with-pid-dir=$HOME/bacula/bin/working \
552 --with-subsys-dir=$HOME/bacula/bin/working
558 oder, zum Schluss, eine vollständig traditionelle RedHat-Linux Installation:
562 CFLAGS="-g -Wall" ./configure \
564 --sbindir=/usr/sbin \
565 --sysconfdir=/etc/bacula \
566 --with-scriptdir=/etc/bacula \
567 --enable-smartalloc \
570 --with-working-dir=/var/bacula \
571 --with-pid-dir=/var/run \
575 Beachten Sie bitte, dass Bacula davon ausgeht, dass die Verzeichnisse
576 /var/bacula, /var/run, und /var/lock/subsys bereits existieren und es diese
577 während der Installation nicht automatisch erzeugt.
579 Beachten Sie bitte, dass bei Benutzung einer AMD64 CPU, die unter 64 bit CentOS4 lä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ämon bemerkbar. Eine Lösung ist es, Bacula ohne Optimierung zu kompilieren (normalerweise ist dies -O2).
581 \subsection*{Solaris}
582 \index[general]{Solaris }
583 \addcontentsline{toc}{subsection}{Solaris}
585 Um Bacula aus den Quellcodedateien zu erzeugen, muss auf dem Solaris-System bereits das folgende installiert sein (das ist es standardmäßig nicht):
586 libiconv, gcc 3.3.2, stdc++, libgcc (wegen der stdc++- und gcc\_s-Bibliotheken), make 3.8 oder neuer.
588 Möglicherweise muss die PATH-Umgebungsvariable um ``/usr/local/bin'' und ``/usr/ccs/bin'' (wegen ar) ergänzt werden
593 CFLAGS="-g" ./configure \
594 --sbindir=$HOME/bacula/bin \
595 --sysconfdir=$HOME/bacula/bin \
596 --with-mysql=$HOME/mysql \
597 --enable-smartalloc \
598 --with-pid-dir=$HOME/bacula/bin/working \
599 --with-subsys-dir=$HOME/bacula/bin/working \
600 --with-working-dir=$HOME/bacula/working
604 Wie oben schon erwä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.
606 Beachten Sie bitte, dass Sie möglicherweise die folgenden Pakete installieren müssen, um Bacula kompilieren zu können:
625 PATH=/usr/bin::/usr/ccs/bin:/etc:/usr/openwin/bin:/usr/local/bin:/usr/sfw/bin:/opt/sfw/bin:/usr/ucb:/usr/sbin
629 \subsection*{FreeBSD}
630 \index[general]{FreeBSD }
631 \addcontentsline{toc}{subsection}{FreeBSD}
633 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.
635 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öglicherweise nicht funktionieren.
638 \index[general]{Win32 }
639 \addcontentsline{toc}{subsection}{Win32}
640 Um die Win32-Version des File-Client zu installieren, lesen Sie bitte das Kapitel \ilink{Win32 Installation}{_ChapterStart7} in diesem Handbuch.
642 \subsection*{Windows-Systeme mit installiertem CYGWIN}
644 \index[general]{Windows-Systeme mit installiertem CYGWIN }
645 \index[general]{CYGWIN!Windows-Systeme mit installiertem }
646 \addcontentsline{toc}{subsection}{Windows-Systeme mit installiertem CYGWIN}
648 Seit der Version 1.34 verwendet Bacula für den Win32-File-Dämon CYGWIN nicht mehr. Er wird allerdings immer noch in einer CYGWIN-Umgebung kompiliert - möglicherweise funktioniert das aber auch mit dem Visual C -Studio allein. Wenn Sie den Win32-File-Dämon selbst kompilieren wollen, benötigen sie Microsoft C++ in der Version 6.0 oder höher. Für Bacula in den Versionen vor 1.3 wurde CYGWIN verwendet. Einzelheiten zur Kompilierung stehen in der README-Datei im Verzeichnis ``src/win32''.
650 Beachten Sie, dass, obwohl sich fast alle Elemente von Bacula unter Windows kompilieren lassen, nur der File-Dämon getestet und verwendet wurde.
652 Beachten Sie auf jeden Fall die Installationsanweisungen des Kapitels \ilink{Win32-Installation}{_ChapterStart7} in diesem Dokument.
654 \subsection*{Kerns Konfigurations-Skript}
655 \index[general]{Skript!Kerns Konfigurations }
656 \index[general]{Kerns Konfigurations-Skript }
657 \addcontentsline{toc}{subsection}{Kerns Konfigurations-Skript}
659 Dieses Skript verwende ich für meinen ``produktiven'' Linux-Rechner:
664 # This is Kern's configure script for Bacula
667 --sbindir=$HOME/bacula/bin \
668 --sysconfdir=$HOME/bacula/bin \
669 --enable-smartalloc \
671 --with-pid-dir=$HOME/bacula/bin/working \
672 --with-subsys-dir=$HOME/bacula/bin/working \
673 --with-mysql=$HOME/mysql \
674 --with-working-dir=$HOME/bacula/bin/working \
675 --with-dump-email=$USER \
676 --with-smtp-host=mail.your-site.com \
682 Beachten Sie bitte, dass ich 9101 als Basis-Port definiere. Dadurch verwendet Bacula Port 9101 für die Director-Console, Port 9102 für die File-Dämonen und Port 9103 für die Storage-Dämonen. Diese Ports müssten auf allen Systemen verfügbar sein, da sie von der IANA (Internet Assigned Numbers Authority) offiziell fü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.
684 Eventuell kö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):
694 \subsection*{Bacula installieren}
695 \index[general]{installieren!Bacula }
696 \index[general]{Bacula installieren }
697 \addcontentsline{toc}{subsection}{Bacula installieren}
700 Bevor man die Konfigurations-Dateien bearbeitet, wird man Bacula in dessen Zielverzeichnisse installieren wollen. Dies geschieht mit:
708 Wenn Bacula zuvor schon installiert worden war, werden die Programmdateien überschrieben werden, die Konfigurationsdateien jedoch erhalten bleiben. An die Namen der ``neuen'' Konfigurationsdateien wird ein {\bf .new} angehängt. Wenn Sie Bacula bereits installiert und betrieben hatten, werden Sie diese normalerweise verwerfen wollen oder ignorieren.
710 \subsection*{Einen File-Dämon oder Client-Prozess kompilieren}
711 \index[general]{Kompilierung!eines File-Dämons oder Client_Prozesses }
712 \index[general]{Einen File-Dämon oder Client-Prozess kompilieren }
713 \addcontentsline{toc}{subsection}{Einen File-Dämon oder Client-Prozess kompilieren}
715 Wenn der Director und Storage-Dämon bei Ihnen auf einem Rechner läuft und Sie die Daten eines anderen Rechners sichern wollen, brauchen Sie auf diesem Rechner eine Kopie des File-Dämons. Sind der Rechner und das Betriebsystem gleich, genü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.
717 Ist die Rechnerachitektur und/oder das Betriebsystem verschieden, so muss der File-Dämon auf dem Client-Rechner kompiliert werden. Man verwendet hierzu den gleichen {\bf ./configure}-Befehl wie für das Hauptprogramm und beginnt in einer neuen Kopie des Quellcode-Verzeichnisses oder indem man vor dem {\bf ./configure} ein {\bf make\ distclean} ausführt.
719 Da der File-Dämon nicht mit der Datenbank arbeitet, kö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ötigten Bibliotheken und die Client-Programme erzeugt. Dadurch ist es nicht notwendig, die Datenbank-Programme zu installieren, nur um den File-Dämon zu erzeugen. Geben Sie zum Schluss einfach {\bf make} ein. Damit wird nur das Client-Programm erzeugt.
722 \subsection*{Auto-Start der Dämon-Prozesse}
723 \index[general]{Dämon-Prozesse!Auto-Start der }
724 \index[general]{Auto-Start der Dämon-Prozesse }
725 \addcontentsline{toc}{subsection}{Auto-Start der Dämon-Prozesse}
727 Sollen die Dä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ützt werden und darf nicht als {\bf unknown} erkannt sein. Dann müssen die plattformspezifischen Dateien wie folgt installiert werden:
732 make install-autostart
736 Die Möglichkeit des Auto-Starts ist nur für Systeme implementiert, die wir offiziell unterstützen (momentan FreeBSD, RedHat/Fedora-Linux und Solaris) und wurde bislang nur auf Fedora-Linux vollständig getestet.
738 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ängt vom verwendeten Beriebssystem ab.
740 Wenn nur der File-Dämon installiert werden soll, können Sie dies mit folgendem Befehl tun:
744 make install-autostart-fd
748 \subsection*{Weitere Hinweise zur Kompilierung}
749 \index[general]{Kompilierung!Weitere Hinweise zur }
750 \index[general]{Weitere Hinweise zur Kompilierung }
751 \addcontentsline{toc}{subsection}{Weitere Hinweise zur Kompilierung}
753 Um eine Programmdatei in einem beliebigen Verzeichnis zu erzeugen, geben Sie einfach das folgende ein:
761 Um alle Objekt- und Programmdateien (auch die mit ``1'', ``2'' oder ``3'' bezeichneten Dateien, die Kern als temporäre Dateien verwendet) geben Sie folgendes ein:
769 Um wirklich alles für eine Distribution zu bereinigen:
777 Beachten Sie bitte, dass dies alle Makefiles löscht und normalerweise auf der obersten Verzeichnisebene ausgeführt wird, um den Quellcode für eine Distribution vorzubereiten. Um dies rückgängig zu machen, muss {\bf ./configure} auch von der obersten Verzeichnisebene ausgeführt werden, da alle Makefiles gelöscht sind.
779 Um einem Unterverzeichnis eine neue Datei hinzuzufügen, muss die Datei ``Makefile.in'' in jenem Verzeichnis bearbeitet werden. Danach genügt es, {\bf make} einzugeben. In den meisten Fällen erzeugt der make-Befehl ein neues Makefile aus ``Makefile.in''. In manchen Fällen muss der {\bf make}-Befehl wiederholt werden. In extremen Fällen wechselt man in die oberste Verzeichnisebene und gibt ein: {\bf make Makefiles}.
781 Um Abhängigkeiten hinzuzufügen:
789 Mit {\bf make depend} werden die Abhängigkeiten der Header-Dateien aller Objekt-Dateien dem Makefile und der Datei ``Makefile.in" hinzugefügt. Dieser Befehl sollte in allen Verzeichnissen ausgeführt werden, in welchen Sie die Abhängigkeiten ändern. Normalerweise muss der Befehl nur ausgeführt werden, wenn sie Quell- oder Header-Dateien hinzufügen oder löschen. {\bf make depend} wird normalerweise während des Konfigurations-Prozesses automatisch aufgerufen.
799 Dieser Befehl wird verwendet, wenn Sie Bacula als Backup-System installieren wollen, nicht aber wenn Sie an Bacula selbst programmieren.
800 Nach Ausfü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ä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).
821 create_mysql_database
823 delete_catalog_backup
844 \subsection*{Die Installation des Tray-Monitors}
845 \index[general]{Tray-Monitors!Die Installation des }
846 \index[general]{Die Installation des Tray-Monitors }
847 \addcontentsline{toc}{subsection}{Die Installation des Tray-Monitors}
849 Wenn Sie den Konfigurationsschalter {\bf \verb{--{enable-tray-monitor} verwendet und {\bf make install} ausgeführt haben, ist der Tray-Monitor schon installiert.
851 Da Sie Ihre grafische Umgebung nicht als root betreiben (wenn doch, sollten sie das abstellen), müssen Sie den Usern Leserechte auf {\bf tray-monitor.conf} und Ausführungsrechte für {\bf bacula-tray-monitor} geben. Dies ist kein Sicherheitsrisiko.
853 Melden Sie sich bei Ihrer grafischen Umgebung an (KDE, Gnome oder eine andere), starten sie den {\bf bacula-tray-monitor} als gewöhnlicher Benutzer und achten Sie darauf, ob das Cassetten-Icon irgendwo auf Ihrem Bildschirm erscheint (gewöhnlich in der Task-Leiste). Tut es das nicht, werfen Sie einen Blick auf die unten aufgeführten Anweisungen entsprechend Ihrer Umgebung oder Ihres Window-Managers.
855 \subsubsection*{GNOME}
856 \index[general]{GNOME }
857 \addcontentsline{toc}{subsubsection}{GNOME}
859 Ein System-Tray oder einen ``Benachrichtigungs-Bereich'' (um die GNOME-Terminologie zu verwenden), wird von GNOME seit der Version 2.2 unterstützt. Um sie zu aktivieren, klicken Sie rechts auf Ihre Kontrollleiste, öffnen das Menü {\bf Add to this Panel}, dann auf {\bf Utility} und klicken schließlich auf {\bf Notification Area}.
862 \index[general]{KDE }
863 \addcontentsline{toc}{subsubsection}{KDE}
865 Seit der Version 3.1 unterstützt KDE das System-Tray. Um es zu aktivieren, klicken Sie Ihre Kontrollleiste rechts, öffnen das Menü {\bf Zur Kontrollleiste hinzufügen}, dann auf {\bf Miniprogramm} und klicken schließlich auf {\bf Systemabschnitt der Kontrollleiste}.
867 \subsubsection*{Andere Fenster-Manager}
868 \index[general]{Fenster-Manager!Andere }
869 \index[general]{Andere Fenster-Manager }
870 \addcontentsline{toc}{subsubsection}{Andere Fenster-Manager}
872 Lesen Sie die Dokumentation um zu erfahren, ob der Freedesktop System-Tray-Standard von Ihrem Fenster-Manager unterstützt wird und - wenn vorhanden - wie er aktiviert wird.
874 \subsection*{Die Bacula Konfigurations-Dateien bearbeiten}
875 \index[general]{Die Bacula Konfigurations-Dateien bearbeiten }
876 \index[general]{Bearbeiten!Die Bacula Konfigurations-Dateien }
877 \addcontentsline{toc}{subsection}{Die Bacula Konfigurations-Dateien bearbeiten}
879 Schlagen Sie im Kapitel \ilink{Bacula konfigurieren}{_ChapterStart16} dieses Handbuches nach, wie sie die Konfigurationsdateien von Bacula einrichten.