From: Kern Sibbald Date: Thu, 20 Feb 2014 13:56:10 +0000 (+0100) Subject: Add new images X-Git-Tag: Release-7.0.0~24 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=b6eefb1a20f16570cbd7ce40de6fb62bcad3b14f;p=bacula%2Fdocs Add new images --- diff --git a/docs/home-page/en/documentation.php b/docs/home-page/en/documentation.php new file mode 100644 index 00000000..d5839b1b --- /dev/null +++ b/docs/home-page/en/documentation.php @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Manuals for Released Version 5.0.x +
+ +
+ Manuals for Version 5.1.x (currently under development) +
+
+ Manuals for Previous Version 3.0.x (Prior version) +
+
+ Bacula Documentation for Prior Version 2.4.x +
+
    +
  • User's Manual + PDF + /HTML + -- (Version 2.4.4 of the User's Manual)
  • +
    +
  • Tutorial + HTML + -- (start here after installing Bacula)
  • +
  • Bacula-web Guide + HTML + -- (Guide for the Bacula-web GUI application)
  • +
  • Developer's Guide + PDF + /HTML + -- (Guide for Bacula developers)
  • +
+
+

+ diff --git a/docs/home-page/en/presentations.php b/docs/home-page/en/presentations.php new file mode 100644 index 00000000..62d465d3 --- /dev/null +++ b/docs/home-page/en/presentations.php @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + +
+ Bacula Presentations +
+ + + + + + + + +
    +
  • PDF ETSIIT Slide Show +
    Slide Show Presented Facultad de Informaticia de Granada (ETSIIT) 24 Nov 2010 (Spanish)
  • +
+
+

+ diff --git a/docs/images/logo-baculaorg02.jpg b/docs/images/logo-baculaorg02.jpg new file mode 100644 index 00000000..d223bd58 Binary files /dev/null and b/docs/images/logo-baculaorg02.jpg differ diff --git a/docs/images/logo-baculaorg07.jpg b/docs/images/logo-baculaorg07.jpg new file mode 100644 index 00000000..414dc24b Binary files /dev/null and b/docs/images/logo-baculaorg07.jpg differ diff --git a/docs/images/logo-baculaorg07smile.jpg b/docs/images/logo-baculaorg07smile.jpg new file mode 100644 index 00000000..cd4312d7 Binary files /dev/null and b/docs/images/logo-baculaorg07smile.jpg differ diff --git a/docs/images/logo-baculaorg08.jpg b/docs/images/logo-baculaorg08.jpg new file mode 100644 index 00000000..1253fb88 Binary files /dev/null and b/docs/images/logo-baculaorg08.jpg differ diff --git a/docs/images/logo-baculaorg09.jpg b/docs/images/logo-baculaorg09.jpg new file mode 100644 index 00000000..80383dee Binary files /dev/null and b/docs/images/logo-baculaorg09.jpg differ diff --git a/docs/manuals/en/main/pkg-install.tex b/docs/manuals/en/main/pkg-install.tex new file mode 100644 index 00000000..1c75b712 --- /dev/null +++ b/docs/manuals/en/main/pkg-install.tex @@ -0,0 +1,1111 @@ +%% +%% + +\chapter{Installing Bacula from Packages} +\label{PkgInstallChapter} +\index[general]{Bacula!Installing from Packages} +\index[general]{Installing Bacula from Packages} + +In general, when you receive the Bacula Enterprise version, +you will receive it as prebuilt binaries in the packaging +format that is most suited for your system. For example, +RedHat and SLES (SuSE) both use rpms, while Debian and Ubuntu +use debs. Depending on the packaging system, you will receive +a different number of binary packages with different contents. + +Below we explain how to manually install the packages on various +systems. You will need to adapt the version numbers to the +version you are actually using. If you use one our package +repository, the commands you enter will much simpler and you +will not need to know version names or how to satisfy dependencies +on other packages that Bacula needs (e.g. postgresql) as they +will automatically handled by the package manager. + +\section{Installing RPM Packages} +\index[general]{Installing RPM Packages} + +In general, you should get the binary packages from your +download area on www.baculasystems.com. You can either download +what you need or setup a repository pointing to the download +area that will allow you to use your installer program +such as yum to ensure that all the dependencies a met. + +\subsection{Installing Using Yum} +\index[general]{Installing Using Yum} + +Create the file /etc/yum.repos.d/Bacula-Enterprise.repo which +should contain: + +\begin{lstlisting} +[Bacula-Enterprise] +name = Red Hat Enterprise - Bacula-Enterprise +baseurl = https://www.baculasystems.com/dl//rpms/bin/6.4.0/rhel6-64/ +enabled = 1 +protect = 0 +gpgcheck = 0 + +[Bacula-Enterprise-bweb] +name = Red Hat Enterprise - BWeb Management Suite for BEE +baseurl = https://www.baculasystems.com/dl//rpms/bweb/6.4.0/rhel6-64/ +enabled = 1 +protect = 0 +gpgcheck = 0 + +[Bacula-Enterprise-dag] +name = Red Hat Enterprise - Bacula Systems dag for BWeb +baseurl = https://www.baculasystems.com/dl/DAG/rhel6-64/ +enabled = 1 +protect = 0 +gpgcheck = 0 +\end{lstlisting} + +Please replace the with the name of the last part +your download area that was given to you in your Welcome Package. + +Also please ensure that you adapt the Bacula version and +the architecture (platform) to correspond to your system. + +If you have not previously installed the PostgreSQL server, do +so with: + +\begin{lstlisting} +yum install postgresql-server +\end{lstlisting} + +Then install the Bacula postgreSQL driver with: + +\begin{lstlisting} +yum install bacula-enterprise-postgresql +\end{lstlisting} + +If this is the first time you have installed the PostgreSQL +server, you will need to do the following: + +\begin{lstlisting} +service postgresql initdb +chkconfig postgresql on +service postgresql restart +su postgres +/opt/bacula/scripts/create_postgresql_database +/opt/bacula/scripts/make_postgresql_tables +/opt/bacula/scripts/grant_postgresql_privileges +exit +service postgresql restart +/opt/bacula/scripts/bacula restart +\end{lstlisting} + + +If you want to install Bat, you will also want to do: + +\begin{lstlisting} +\yum install bacula-enterprise-bat +\end{lstlisting} + +If you wish to install BWeb, please ask for +the Bacula Enterprise White Paper for the BWeb +package. + + + +\subsection{Manually Installing RPM Packages} +\index[general]{Manually Installing RPM Packages} +Please not that when installing by hand, we give you +general instructions below, but you must manually +adapt the version numbers (6.4.0 ...) and the release +numbers (rh4, rh5, rh6, ...) to correspond to what +you are installing. + +Assuming you will download the binaries to your machine, +first, transfer the binary packages you need to your +RedHat or SuSE machine. For example: + +\begin{lstlisting} +bacula-enterprise-bat-6.4.0-1.rh6.x86_64.rpm +bacula-enterprise-client-6.4.0-1.rh6.x86_64.rpm +bacula-enterprise-libs-6.4.0-1.rh6.x86_64.rpm +\end{lstlisting} + +and one or the other of the following two: +\begin{lstlisting} +bacula-enterprise-mysql-6.4.0-1.rh6.x86_64.rpm +bacula-enterprise-postgresql-6.4.0-1.rh6.x86_64.rpm +\end{lstlisting} + +and if you are going to update the database: + +\begin{lstlisting} +bacula-enterprise-updatedb-6.4.0-1.rh6.rpm +\end{lstlisting} + +In addition, if you have any plugins, please download +the rpms for them. + +To install generally if you have not previously installed +a Bacula Enterprise binary, you will want to save your old +configuration files somewhere and then remove the old packages +with: + +\begin{lstlisting} +rpm -e ... +\end{lstlisting} + +If you have previously used a Bacula Enterprise binary, you +do not need to remove the packages, you can simply install or +upgrade the new ones with: + +\begin{lstlisting} +rpm -Uhv bacula-enterprise-bat-6.4.0-1.rh6.x86_64.rpm \ +bacula-enterprise-client-6.4.0-1.rh6.x86_64.rpm \ +bacula-enterprise-libs-6.4.0-1.rh6.x86_64.rpm \ +... +\end{lstlisting} + +That is you can put them all on one line or multiple lines if terminated +with a backslash character (\verb+\+). There must be no space after the +backslash. + +\section{Installing DEBs} +\index[general]{Installing BEBs} +In general, you should get the binary packages from your +download area on www.baculasystems.com. You can either download +what you need or setup a repository pointing to the download +area that will allow you to use your installer program +such as apt to ensure that all the dependencies a met. + +\section{Installing Using apt} +\index[general]{Installing Using apt} +In order to use the Bacula Systems apt repository, you need to install +the HTTPS backend for APT. + +\begin{lstlisting} + apt-get install apt-transport-https +\end{lstlisting} + +Then, you need to download and install the gpg signature that validates packages + +\begin{lstlisting} + wget https://www.baculasystems.com/dl//BaculaSystems-Public-Signature.asc + apt-key add BaculaSystems-Public-Signature.asc +\end{lstlisting} + +Please replace the with the name of the last part +your download area that was given to you in your Welcome Package. + +Add to your /etc/apt/source.list file the following entries: + +\begin{lstlisting} + # Bacula Enterprise + deb https://www.baculasystems.com/dl//debs/bin/6.4.0/squeeze-64/ squeeze main + # Bacula Enterprise Bweb Management Suite (if subscribed) + deb https://www.baculasystems.com/dl//debs/bweb/6.4.0/squeeze-64/ squeeze bweb +\end{lstlisting} + + +Also please ensure that you adapt the Bacula version and the architecture +(platform) to correspond to your system. + +\begin{lstlisting} + debian 7 | wheezy + debian 6 | squeeze + debian 5 | lenny + ubuntu 12.04 | precise + ubuntu 10.04 | lucid +\end{lstlisting} + +Once done, you can update the repository list with the following command. + +\begin{lstlisting} + apt-get update +\end{lstlisting} + +If you have not previously install the PostgreSQL server, do +so with: + +\begin{lstlisting} +apt-get install postgresql dbconfig-common +\end{lstlisting} + +Then install the Bacula with postgreSQL driver with: + +\begin{lstlisting} +apt-get install bacula-enterprise-postgresql +\end{lstlisting} + +If you want to install Bat, you will also want to do: + +\begin{lstlisting} +apt-get install bacula-enterprise-bat +\end{lstlisting} + + +\section{Manually Installing DEBs} +Assuming you will download the binaries to your machine, +first, transfer the binary packages you need to your +Debian or Ubuntu machine. For example: + +\begin{lstlisting} +bacula-enterprise-client_6.4.0-1_amd64.deb +bacula-enterprise-common_6.4.0-1_amd64.deb +bacula-enterprise-console-qt_6.4.0-1_amd64.deb +bacula-enterprise-console_6.4.0-1_amd64.deb +\end{lstlisting} + +and one of the following two: + +\begin{lstlisting} +bacula-enterprise-mysql_6.4.0-1_amd64.deb +bacula-enterprise-postgresql_6.4.0-1_amd64.deb +\end{lstlisting} + +In addition, if you have any plugins, please download +the debs for them. + +To install generally if you have not previously installed +a Bacula Enterprise binary, you will want to save your old +configuration files somewhere and then remove the old packages +with: + +\begin{lstlisting} +dpkg -r ... +\end{lstlisting} + +If you have previously used a Bacula Enterprise binary, you +do not need to remove the packages, you can simply install or +upgrade the new ones with: + +\begin{lstlisting} +dpkg -i bacula-enterprise-client_6.4.0-1_amd64.deb \ + bacula-enterprise-common_6.4.0-1_amd64.deb \ + bacula-enterprise-console_6.4.0-1_amd64.deb \ + bacula-enterprise-postgresql_6.4.0-1_amd64.deb +\end{lstlisting} + +That is you can put them all on one line or multiple lines if terminated +with a backslash character (\verb+\+). There must be no space after the +backslash. + +If some dependencies are missing, you can install them automatically using: + +\begin{lstlisting} + apt-get -f install +\end{lstlisting} + +\section{Installing FreeBSD Packages} +\index[general]{Installing FreeBSD Packages} +First, transfer the binary packages you need including +the post-install scripts to your FreeBSD machine. For +example: + +\begin{lstlisting} + bacula-enterprise-fd.6.2.0.tbz + post-install.fd + bacula-enterprise-sfd.6.2.0.tbz + post-install.sfd + bacula-enterprise-sd-6.2.0.tbz + post-install.sd +\end{lstlisting} + +Note, if you want only the FD or the SD, simply +skip the appropriate commands. + +The package bacula-enterprise-fd was previously called +bacula-enterprise-client, so when upgrading, we recommend +that you save your prior bacula-fd.conf file, remove +the old package and install the new package. + +The package bacula-enterprise-sfd is a static version +of the File daemon. We have not tested, but it should +work on virtually any version of FreeBSD. If you use +it, please let us know. Please note, if you install the +bacula-enterprise-fd package you will not need the +bacula-enterprise-sfd package and vise-versa. + +Then as root execute the following: + +\begin{lstlisting} + pkg_add bacula-enterprise-fd-6.2.0.tbz + ./post-install.fd + pkg_add bacula-enterprise-sd-6.2.0.tbz + ./post-install.sd +\end{lstlisting} + +These need to be done only once. The services +are not initially started, but the service scripts +will be installed. + +You must then edit the Bacula configuration scripts +that are in /opt/bacula/etc/bacula-fd.conf and +/opt/bacula/etc/bacula-sd.conf + +You can then start the services with: + +\begin{lstlisting} +service bacula_fd start +service bacula_sd start +\end{lstlisting} + +They can be removed with: + +\begin{lstlisting} + pkg_delete bacula-enterprise-fd-6.2.0 + pkg_delete bacula-enterprise-sd-6.2.0 +\end{lstlisting} + +Note, the the client from version priort to 6.2.0 can +be removed with: + +\begin{lstlisting} + pkg_delete bacula-enterprise-fd- +\end{lstlisting} + +The removal process may generate some error messages +concering missing files or the bacula user. Generally +these can be ignored. + +\section{Installing Solaris Sparc Packages} +\index[general]{Installing Solaris Sparc Packages} +Note: For Oracle Solaris 11 Intel 64 bit, please see the next section. + +Please see below for how to install dependencies. + +Our binaries come in tar.gz'ed version of a pkg directory. + +The tar.gz are a tar of a directory which is compressed. +It can either be decompressed with gunzip then detarred, or can be directly +be detarred with the GNU tar (gtar). + +You can add packages with: +\begin{lstlisting} +pkgadd -d

for a pkg dir +\end{lstlisting} + +You can remove them with: +\begin{lstlisting} +pkgrm name +\end{lstlisting} + +And you can get information about them with: +\begin{lstlisting} +pkginfo name +\end{lstlisting} + +Remove all previous bacula packages. +\begin{lstlisting} + - # pkginfo | grep BEEbacula + application BEEbaculadir Bacula Enterprise Director + application BEEbaculafd Bacula Enterprise File Daemon + application BEEbaculalibs Bacula Enterprise Shared Libs + application BEEbaculasd Bacula Enterprise Storage Daemon + application BEEbaculasql Bacula Enterprise SQL Libraries + - # pkgrm BEEbaculadir BEEbaculasd BEEbaculafd BEEbaculasql BEEbaculalibs +\end{lstlisting} + +Install the new packages as needed (if not already installed). + + cd to the place where are the packages, untar them : + +\begin{lstlisting} + tar -zxf bacula-enterprise-libs-6.2.1.i86.sol11.pkg.tar.gz + tar -zxf bacula-enterprise-sql-6.2.1.i86.sol11.pkg.tar.gz + tar -zxf bacula-enterprise-dir-6.2.1.i86.sol11.pkg.tar.gz + tar -zxf bacula-enterprise-fd-6.2.1.i86.sol11.pkg.tar.gz + tar -zxf bacula-enterprise-sd-6.2.1.i86.sol11.pkg.tar.gz +\end{lstlisting} + +Install them using pkgadd : + +\begin{lstlisting} + - For a File Daemon + - # pkgadd -d . BEEbaculalibs + - # pkgadd -d . BEEbaculafd + - For a Storage Daemon + - # pkgadd -d . BEEbaculalibs + - # pkgadd -d . BEEbaculasql BEEbaculasd + - For a Director + - # pkgadd -d . BEEbaculalibs + - # pkgadd -d . BEEbaculasql BEEbaculadir +\end{lstlisting} + +(When installing multiple daemons on one server only install the package once. + You can always use pkginfo | grep BEE to see what packages are installed.) + +Setup PostgreSQL on Solaris +\begin{lstlisting} + - Change to user postgres + - # su - postgres + - Initialize the database + - # /usr/postgres/9.2/bin/initdb -D /var/postgres/9.2/data + - Edit /var/postgres/9.2/data/postgresql.conf + /var/postgres/9.2/data/pg_hba.conf + /var/postgres/9.2/data/pg_ident.conf + - Logout as postgres user + - # exit + - Enable the SMF service + - # svcadm enable svc:/application/database/postgresql:default +\end{lstlisting} + +Setup bacula-fd on Solaris +\begin{lstlisting} + - Edit /etc/opt/bacula/bacula-fd.conf + - Enable the SMF service (either choose the readonly instance or default one) + - # svcadm enable svc:/application/backup/bacula-fd:default + - # svcadm enable svc:/application/backup/bacula-fd:readonly + (The readonly instance only allows the fd to perform backups no restores and + runs a a non-priviledged user. The default instance runs as root and allows + all operations.) +\end{lstlisting} + +Setup bacula-sd on Solaris +\begin{lstlisting} + - Edit /etc/opt/bacula/bacula-sd.conf + - Make sure all tape drives are accessable as user bacula group bacula + - Test your configuration + - # su - bacula -c '/opt/bacula/bin/amd64/bacula-sd -t' + - Enable the SMF service + - # svcadm enable svc:/application/backup/bacula-sd:default +\end{lstlisting} + +Setup bacula-dir on Solaris +\begin{lstlisting} + - Make sure the database schema is loaded. + - When you run the database on the same instance as the dir you can perform + the following steps: + - # su - postgres + - # /opt/bacula/scripts/create_bacula_database + - # /opt/bacula/scripts/make_bacula_tables + - # /opt/bacula/scripts/grant_bacula_privileges + - Logout as postgres user + - # exit + - Test your configuration + - # su - bacula -c '/opt/bacula/bin/amd64/bacula-dir -t' + - Enable the SMF service + - # svcadm enable svc:/application/backup/bacula-dir:default +\end{lstlisting} + +\subsection{Installing Solaris Sparc Dependencies} +How to install dependencies for Solaris from CSW (if needed) + +To install Solaris package with pkg-get, you can use +\begin{lstlisting} + pkgadd -d http://get.opencsw.org/now + + http://www.opencsw.org/get-it/ +\end{lstlisting} + +Detailed instructions are available on +\begin{lstlisting} +http://www.opencsw.org/manual/for-administrators/getting-started.html +\end{lstlisting} + +For a list of available packages use: +\begin{lstlisting} +/opt/csw/bin/pkgutil -l +\end{lstlisting} + +To install a package, just use the following command +\begin{lstlisting} +/opt/csw/bin/pkgutil -y -i +\end{lstlisting} + +Bacula packages on Solaris 11 depend on : + +\begin{lstlisting} +- CSWpython +- CSWopenssl +- CSWlibfbopenssl0 +- CSWreadline +\end{lstlisting} + +\subsection{How to install Postgresql} + +* You can get an excellent PostgreSQL distribution for Solaris directly +on http://www.postgresql.org + +For example, the version 9.2 can be downloaded for Solaris 32/64 Intel: +\begin{lstlisting} +http://www.postgresql.org/ftp/binary/v9.2.0/solaris/solaris11/i386/ +\end{lstlisting} + +You may have to make the libpq available for Bacula, for that, just +create a symlink to the libpq.so object in a standard library path. + +\begin{lstlisting} +ln -s /usr/postgres/9.2/lib/64/libpq.so /opt/bacula/lib/amd64/ +ln -s /usr/postgres/9.2/lib/libpq.so /opt/bacula/lib/ +\end{lstlisting} + +* You can get PostgreSQL from opencsw but Postgres 9.2 is not available +in OpenCSW repository. + +The latest version available in OpenCSW is Postgres 9.1. + +\section{Installing Intel Solaris 10 Packages} +\index[general]{Installing Intel Solaris 10 Packages} +The installation of Intel Solaris 10 packages is very similar +to how it is done on Solaris Sparc. + +Our are in pkg format : + +Our repository contain tar.gz'ed version of the pkg + +The tar.gz are a tar of a directory which is compressed. +It can either be decompressed with gunzip then detarred, or can be directly +be detarred with the GNU tar (gtar). + +You can add packages with: +\begin{lstlisting} +pkgadd -d for a pkg dir +\end{lstlisting} + +You can remove them with: +\begin{lstlisting} +pkgrm name +\end{lstlisting} + +And you can get information about them with: +\begin{lstlisting} +pkginfo name +\end{lstlisting} + +Remove all previous bacula packages. +\begin{lstlisting} + - # pkginfo | grep BEEbacula + application BEEbaculadir Bacula Enterprise Director + application BEEbaculafd Bacula Enterprise File Daemon + application BEEbaculalibs Bacula Enterprise Shared Libs + application BEEbaculasd Bacula Enterprise Storage Daemon + application BEEbaculasql Bacula Enterprise SQL files + - # pkgrm BEEbaculadir BEEbaculasd BEEbaculafd BEEbaculasql BEEbaculalibs +\end{lstlisting} + +Install the new packages as needed (if not already installed). + + cd to the place where are the packages, untar them : + +\begin{lstlisting} + gtar -zxf bacula-enterprise-libs-6.2.1.i86.sol10.pkg.tar.gz + gtar -zxf bacula-enterprise-sql-6.2.1.i86.sol10.pkg.tar.gz + gtar -zxf bacula-enterprise-dir-6.2.1.i86.sol10.pkg.tar.gz + gtar -zxf bacula-enterprise-fd-6.2.1.i86.sol10.pkg.tar.gz + gtar -zxf bacula-enterprise-sd-6.2.1.i86.sol10.pkg.tar.gz +\end{lstlisting} + +Install them using pkgadd : + +There is ownership conflict during the install, continue the install and follow + the instruction below to correct them +\begin{lstlisting} + - For a File Daemon + - # pkgadd -d . BEEbaculalibs + - # pkgadd -d . BEEbaculafd + - For a Storage Daemon + - # pkgadd -d . BEEbaculalibs + - # pkgadd -d . BEEbaculasd + - For a Director + - # pkgadd -d . BEEbaculalibs + - # pkgadd -d . BEEbaculasql BEEbaculadir +\end{lstlisting} + +(When installing multiple daemons on one server only install the package once. + You can always use pkginfo | grep BEE to see what packages are installed.) + +The postgresql that we have use is the 9.1 from CSW repository (read the howto +at the end of the file) + +\begin{lstlisting} + - pkgadd -d http://get.opencsw.org/now + - pkgutil -y -i postgresql91 + - The bacula user need to be able to run pg_dump set the path to do so + We used the /etc/rpfile in our case ba adding : + export PATH=$PATH:/opt/csw/bin + set a link from /opt/csw/bin/pg_dump91 to /opt/csw/bin/pg_dump +\end{lstlisting} + +Setup bacula-fd on Solaris +\begin{lstlisting} + - Edit /etc/opt/bacula/bacula-fd.conf + - Enable the SMF service (either choose the readonly instance or default one) + - # svcadm enable svc:/application/backup/bacula-fd:default + - # svcadm enable svc:/application/backup/bacula-fd:readonly + (The readonly instance only allows the fd to perform backups no restores and + runs a a non-priviledged user. The default instance runs as root and allows + all operations.) +\end{lstlisting} + +Setup bacula-sd on Solaris +\begin{lstlisting} + - Edit /etc/opt/bacula/bacula-sd.conf + - Make sure all tape drives are accessable as user bacula group bacula + - set ownership to bacula on chown bacula:bacula /opt/bacula/archive/ + - set ownership to bacula on chown bacula:bacula /opt/bacula/var/run + - Test your configuration + - # su - bacula -c '/opt/bacula/bin/amd64/bacula-sd -t' + - Enable the SMF service + - # svcadm enable svc:/application/backup/bacula-sd:default +\end{lstlisting} + +Setup bacula-dir on Solaris +\begin{lstlisting} + - Make sure the database schema is loaded. + - When you run the database on the same instance as the dir you can perform + the following steps: + - # su - postgres + - # /opt/bacula/scripts/create_bacula_database + - # /opt/bacula/scripts/make_bacula_tables + - # /opt/bacula/scripts/grant_bacula_privileges + - Logout as postgres user + - # exit + - Make postgres libs management : + - # ln -s /opt/csw/lib/64/libpq.so /opt/bacula/lib/amd64/ + - # ln -s /opt/csw//lib/libpq.so /opt/bacula/lib/ + - set ownership to bacula for /opt/bacula/var/run and /opt/bacula/archive + /opt/bacula/working + - # chown bacula:bacula /opt/bacula/var/run /opt/bacula/archive /opt/bacula/working + + - Test your configuration + - # su - bacula -c '/opt/bacula/bin/amd64/bacula-dir -t' + - Enable the SMF service + - # svcadm enable svc:/application/backup/bacula-dir:default +\end{lstlisting} + +\subsection{Installing Dependencies from CSW} +How to install dependencies for Solaris from CSW (if needed) + +To install Solaris package with pkg-get, you can use +\begin{lstlisting} + pkgadd -d http://get.opencsw.org/now + + http://www.opencsw.org/get-it/ +\end{lstlisting} + +Detailed instructions are available on +\begin{lstlisting} +http://www.opencsw.org/manual/for-administrators/getting-started.html +\end{lstlisting} + +For a list of available packages use: +\begin{lstlisting} +/opt/csw/bin/pkgutil -l +\end{lstlisting} + +To install a package, just use the following command +\begin{lstlisting} +/opt/csw/bin/pkgutil -y -i +\end{lstlisting} + +Bacula packages on Solaris 10 depend on: + +\begin{lstlisting} +- CSWpython +- CSWopenssl +- CSWlibfbopenssl0 +- CSWreadline +- CSWPostgresql91 +\end{lstlisting} + +\subsection{How to install PostgreSQL} +How to install Postgresql from Postgressql website (9.2 in not available in CSW) + +You can get an excellent PostgreSQL distribution for Solaris directly +on http://www.postgresql.org + +For example, the version 9.2 can be downloaded for Solaris 32/64 Intel: +\begin{lstlisting} +http://www.postgresql.org/ftp/binary/v9.2.0/solaris/solaris10/i386/ +\end{lstlisting} + +You may have to make the libpq available for Bacula, for that, just +create a symlink to the libpq.so object in a standard library path. + +\begin{lstlisting} +ln -s /usr/postgres/9.2/lib/64/libpq.so /opt/bacula/lib/amd64/ +ln -s /usr/postgres/9.2/lib/libpq.so /opt/bacula/lib/ +\end{lstlisting} + +\section{Installing Intel Solaris 11 Packages} +\index[general]{Installing Intel Solaris 11 Packages} +Please see below for how to install dependencies. + +Our binaries come as tar.gz'ed version of a pkg directory + +The tar.gz are a tar of a directory which is compressed. +It can either be decompressed with gunzip then detarred, or can be directly +be detarred with the GNU tar (gtar). + +You can add packages with: +\begin{lstlisting} +pkgadd -d for a pkg dir +\end{lstlisting} + +You can remove them with: +\begin{lstlisting} +pkgrm name +\end{lstlisting} + +And you can get information about them with: +\begin{lstlisting} +pkginfo name +\end{lstlisting} + +Remove all previous bacula packages. +\begin{lstlisting} + - # pkginfo | grep BEEbacula + application BEEbaculadir Bacula Enterprise Director + application BEEbaculafd Bacula Enterprise File Daemon + application BEEbaculalibs Bacula Enterprise Shared Libs + application BEEbaculasd Bacula Enterprise Storage Daemon + application BEEbaculasql Bacula Enterprise SQL Libraries + - # pkgrm BEEbaculadir BEEbaculasd BEEbaculafd BEEbaculasql BEEbaculalibs +\end{lstlisting} + +Install the new packages as needed (if not already installed). + + cd to the place where are the packages, untar them : + +\begin{lstlisting} + tar -zxf bacula-enterprise-libs-6.2.1.i86.sol11.pkg.tar.gz + tar -zxf bacula-enterprise-sql-6.2.1.i86.sol11.pkg.tar.gz + tar -zxf bacula-enterprise-dir-6.2.1.i86.sol11.pkg.tar.gz + tar -zxf bacula-enterprise-fd-6.2.1.i86.sol11.pkg.tar.gz + tar -zxf bacula-enterprise-sd-6.2.1.i86.sol11.pkg.tar.gz +\end{lstlisting} + +Install them using pkgadd : + +\begin{lstlisting} + - For a File Daemon + - # pkgadd -d . BEEbaculalibs + - # pkgadd -d . BEEbaculafd + - For a Storage Daemon + - # pkgadd -d . BEEbaculalibs + - # pkgadd -d . BEEbaculasql BEEbaculasd + - For a Director + - # pkgadd -d . BEEbaculalibs + - # pkgadd -d . BEEbaculasql BEEbaculadir +\end{lstlisting} + +(When installing multiple daemons on one server only install the package once. + You can always use pkginfo | grep BEE to see what packages are installed.) + +Setup postgresql on Solaris +\begin{lstlisting} + - Change to user postgres + - # su - postgres + - Initialize the database + - # /usr/postgres/9.2/bin/initdb -D /var/postgres/9.2/data + - Edit /var/postgres/9.2/data/postgresql.conf + /var/postgres/9.2/data/pg_hba.conf + /var/postgres/9.2/data/pg_ident.conf + - Logout as postgres user + - # exit + - Enable the SMF service + - # svcadm enable svc:/application/database/postgresql:default +\end{lstlisting} + +Setup bacula-fd on Solaris +\begin{lstlisting} + - Edit /etc/opt/bacula/bacula-fd.conf + - Enable the SMF service (either choose the readonly instance or default one) + - # svcadm enable svc:/application/backup/bacula-fd:default + - # svcadm enable svc:/application/backup/bacula-fd:readonly + (The readonly instance only allows the fd to perform backups no restores and + runs a a non-priviledged user. The default instance runs as root and allows + all operations.) +\end{lstlisting} + +Setup bacula-sd on Solaris +\begin{lstlisting} + - Edit /etc/opt/bacula/bacula-sd.conf + - Make sure all tape drives are accessable as user bacula group bacula + - Test your configuration + - # su - bacula -c '/opt/bacula/bin/amd64/bacula-sd -t' + - Enable the SMF service + - # svcadm enable svc:/application/backup/bacula-sd:default +\end{lstlisting} + +Setup bacula-dir on Solaris +\begin{lstlisting} + - Make sure the database schema is loaded. + - When you run the database on the same instance as the dir you can perform + the following steps: + - # su - postgres + - # /opt/bacula/scripts/create_bacula_database + - # /opt/bacula/scripts/make_bacula_tables + - # /opt/bacula/scripts/grant_bacula_privileges + - Logout as postgres user + - # exit + - Test your configuration + - # su - bacula -c '/opt/bacula/bin/amd64/bacula-dir -t' + - Enable the SMF service + - # svcadm enable svc:/application/backup/bacula-dir:default +\end{lstlisting} + +\subsection{Installing Dependencies} +How to install dependencies for Solaris from CSW (if needed) + +To install Solaris package with pkg-get, you can use +\begin{lstlisting} + pkgadd -d http://get.opencsw.org/now + + http://www.opencsw.org/get-it/ +\end{lstlisting} + +Detailed instructions are available on +\begin{lstlisting} +http://www.opencsw.org/manual/for-administrators/getting-started.html +\end{lstlisting} + +For a list of available packages use: +\begin{lstlisting} +/opt/csw/bin/pkgutil -l +\end{lstlisting} + +To install a package, just use the following command +\begin{lstlisting} +/opt/csw/bin/pkgutil -y -i +\end{lstlisting} + +Bacula packages on Solaris 11 depend on: + +\begin{lstlisting} +- CSWpython +- CSWopenssl +- CSWlibfbopenssl0 +- CSWreadline +\end{lstlisting} + +\subsection{How to install Postgresql} +You can get an excellent PostgreSQL distribution for Solaris directly +on http://www.postgresql.org + +For example, the version 9.2 can be downloaded for Solaris 32/64 Intel: +\begin{lstlisting} +http://www.postgresql.org/ftp/binary/v9.2.0/solaris/solaris11/i386/ +\end{lstlisting} + +You may have to make the libpq available for Bacula, for that, just +create a symlink to the libpq.so object in a standard library path. + +\begin{lstlisting} +ln -s /usr/postgres/9.2/lib/64/libpq.so /opt/bacula/lib/amd64/ +ln -s /usr/postgres/9.2/lib/libpq.so /opt/bacula/lib/ +\end{lstlisting} + +\section{Upgrading Bacula}\label{upgrading1} +\index[general]{Bacula!Upgrading} +\index[general]{Upgrading Bacula} +\index[general]{Upgrading} + +If you are upgrading from one Bacula version to another, you should first +carefully read the ReleaseNotes of all major versions between your current +version and the version to which you are upgrading. In many upgrades, +especially for minor patch upgrades (e.g. between 6.4.0 and 6.4.1) there +will be no database upgrade, and hence the process is rather simple. + +You {\bf must} ensure that on any given machine that all components of +Bacula are running on exactly the same version. This is because they +use shared libraries which are specific to each version, so having +different Bacula versions of the various daemons will not work unless +you have multiple libraries installed. + +As always, we attempt to support older File daemons. This avoids the +need to do a simultaneous upgrade of many machines. For exactly which +older versions of the FD are supported, please see the ReleaseNotes +for the new version. In any case, you must always upgrade both the +Director and the Storage daemon at the same time, and you must also +upgrade any File daemon that is running on the same machine as a Director +or a Storage daemon (see the prior paragraph). + +If the Bacula catalog database has been upgraded (as it is almost every +major release), you will either need to reinitialize your database starting +from scratch (not normally a good idea), or save an ASCII copy of your +database, then proceed to upgrade it. If you are upgrading two major +versions (e.g. 3.0.x to 5.0.0) then life will be more complicated because +you must do two database upgrades. See below for more on this. + +Upgrading the catalog is usually done by the package when +you are upgrading Bacula. However, there may be cases where +you must or you want to upgrade manually. + +The manual process of upgrading the catalog is: + +\begin{lstlisting} +cd (default /etc/bacula) +./update_bacula_tables +\end{lstlisting} + +This update script can also be find in the Bacula source src/cats +directory. + +If there are several database upgrades between your version and the +version to which you are upgrading, you will need to apply each database +upgrade script. For your convenience, you can find all the old upgrade scripts +in the {\bf upgradedb} directory of the source code. You will need to edit the +scripts to correspond to your system configuration. The final upgrade script, +if any, can be applied as noted above. + +If you are upgrading from one major version to another, you will need to +replace all your components at the same time as generally the inter-daemon +protocol will change. However, within any particular release (e.g. version +1.32.x) unless there is an oversight or bug, the daemon protocol will not +change. If this is confusing, simply read the ReleaseNotes very carefully as +they will note if all daemons must be upgraded at the same time. + +Finally, please note that in general it is not necessary or desirable +to do a {\bf make uninstall} before doing an upgrade providing you are careful +not to change the installation directories. In fact, if you do so, you will +most likely delete all your conf files, which could be disastrous. +The normal procedure during an upgrade is simply: + +\begin{lstlisting} +./configure (your options) +make +make install +\end{lstlisting} + +In general none of your existing .conf or .sql files will be overwritten, +and you must do both the {\bf make} and {\bf make install} commands, a +{\bf make install} without the preceding {\bf make} will not work. + +For additional information on upgrading, please see the \bsysxrlink{Upgrading Bacula Versions}{upgrading}{problems}{section} of the \problemsman{}. + +\section{Releases Numbering} +\index[general]{Release Numbering} +\index[general]{Version Numbering} +Every Bacula release whether beta or production has a different number +as well as the date of the release build. The numbering system follows +traditional Open Source conventions in that it is of the form. + +\begin{lstlisting} +major.minor.release +\end{lstlisting} + +For example: +\begin{lstlisting} +1.38.11 +\end{lstlisting} + +where each component (major, minor, patch) is a number. +The major number is currently 1 and normally does not change +very frequently. The minor number starts at 0 and increases +each for each production release by 2 (i.e. it is always an +even number for a production release), and the patch number is +starts at zero each time the minor number changes. The patch +number is increased each time a bug fix (or fixes) is released +to production. + +So, if your current production Bacula release is version 5.2.10. If there +are bug fixes, the next minor release will be 5.2.11 (i.e. the patch number has +increased by one). + +For all patch releases where the minor version number does not change, +the database and all the daemons will be compatible. That means that +you can safely run a 5.2.1 Director with a 5.2.10 Client providing +it is on a different machine. Of course, +in this case, the Director may have bugs that are not fixed. Generally, +within a minor release (some minor releases are not so minor), all +patch numbers are officially released to production. This means that if +the current Bacula version is 5.2.11, versions 5.2.0, 5.2.1, ... 5.2.10 +have all been previously released. + +When the minor number is odd, it indicates that the package is under +development and thus may not be stable. For example, if the current +production release of Bacula is currently 5.2.11, the current development +version is 5.3.22. All patch versions of the development code are +available in the git source repository. However, not all patch versions +of the development code (odd minor version) are officially released. When +they are released, they are released as beta versions (see below for a +definition of what beta means for Bacula releases). + +In general when the minor number increases from one production release +to the next (i.e. 1.38.x to 1.40.0), the catalog database must be upgraded, +the Director and Storage daemon must always be on the same minor release +number, and often (not always), the Clients must also be on the same minor +release. As often as possible, we attempt to make new releases that are +downwards compatible with prior clients, but this is not always possible. +You must check the release notes. In general, you will have fewer problems +if you always run all the components on the same minor version number (i.e. +all either 1.38.x or 1.40.x but not mixed). + + +\label{BetaReleases} +\section*{Beta Releases} +\index[general]{Beta Releases} +Towards the end of the development cycle, which typically runs +one year from a major release to another, there will be several beta +releases of the development code prior to a production release. +As noted above, beta versions always have odd minor version numbers +(e.g 1.37.x or 1.39.x). +The purpose of the beta releases is to allow early adopter users to test +the new code. Beta releases are made with the following considerations: + +\begin{bsysitemize} +\item The code passes the regression testing on FreeBSD, Linux, and Solaris + machines. + +\item There are no known major bugs, or on the rare occasion that + there are, they will be documented or already in the bugs database. + +\item Some of the new code/features may not yet be tested. + +\item Bugs are expected to be found, especially in the new + code before the final production release. + +\item The code will have been run in production in at least one small + site (mine). + +\item The Win32 client will have been run in production at least + one night at that small site. + +\item The documentation in the manual is unlikely to be complete especially + for the new features, and the Release Notes may not be fully + organized. + +\item Beta code is not generally recommended for everyone, but + rather for early adopters. +\end{bsysitemize} + + +\section{Supported Operating Systems} +\label{Systems} +\index[general]{Systems!Supported Operating} +\index[general]{Supported Operating Systems} + +Please see the +\ilink{ Supported Operating Systems}{SupportedOSes} section +of the QuickStart chapter of this manual. + +\section{What Database to Use?} +\label{DB} +\index[general]{What Database to Use?} +\index[general]{Use!What Database to} + +Before installing Bacula you need to decide if you want to use +MySQL or PostgreSQL. Note, the community version of Bacula supports +SQLite, but for the Enterprise version, we support only MySQL and +PostgreSQL + +If you wish to use MySQL as the Bacula catalog, please see the +\ilink{Installing and Configuring MySQL}{MySqlChapter} chapter of this +manual. You will need to install MySQL prior to continuing with the +configuration of Bacula. MySQL is a high quality database that is very +efficient and is suitable for small and medium sized installation (up to +2,000,000 files per job). It is slightly more complicated than SQLite to setup +and administer because it has a number of sophisticated features such as +userids and passwords. It runs as a separate process, is truly professional and +can manage a database of any size. + +If you wish to use PostgreSQL as the Bacula catalog, please see the +\ilink{Installing and Configuring PostgreSQL}{PostgreSqlChapter} chapter of +this manual. You will need to install PostgreSQL prior to continuing with +the configuration of Bacula. PostgreSQL is very similar to MySQL, though +it tends to be slightly more SQL92 compliant and has many more advanced +features such as transactions, stored procedures, and the such. It +requires a certain knowledge to install and maintain. PostgreSQL is +suitable for any sized installation (some sites have much more than 1 +billion objects in the Catalog). Bacula uses many optimized PostgreSQL +functions, and can run more than 10 time faster on jobs having millions of +files than MySQL (Specially in during restore, accurate mode, bvfs queries +and when the database server is not on the same host than the Director). +It's possible to switch from MySQL/SQLite to PostgreSQL, but it requires +some DBA knowledge.