]> git.sur5r.net Git - bacula/docs/blobdiff - docs/manuals/fr/problems/base/rpm-faq.tex
Setup fr/misc fr/problems for translation
[bacula/docs] / docs / manuals / fr / problems / base / rpm-faq.tex
diff --git a/docs/manuals/fr/problems/base/rpm-faq.tex b/docs/manuals/fr/problems/base/rpm-faq.tex
new file mode 100644 (file)
index 0000000..127fc39
--- /dev/null
@@ -0,0 +1,395 @@
+%%
+%%
+
+\chapter{Bacula RPM Packaging FAQ}
+\label{RpmFaqChapter}
+\index[general]{FAQ!Bacula\textsuperscript{\textregistered} - RPM Packaging }
+\index[general]{Bacula\textsuperscript{\textregistered} - RPM Packaging FAQ }
+
+\begin{enumerate}
+\item 
+   \ilink{How do I build Bacula for platform xxx?}{faq1}  
+\item 
+   \ilink{How do I control which database support gets built?}{faq2} 
+
+\item 
+   \ilink{What other defines are used?}{faq3}  
+\item 
+   \ilink{I'm getting errors about not having permission when I try to build the
+   packages. Do I need to be root?}{faq4}  
+\item 
+   \ilink{I'm building my own rpms but on all platforms and compiles I get an
+   unresolved dependency for something called
+   /usr/afsws/bin/pagsh.}{faq5} 
+\item 
+   \ilink{I'm building my own rpms because you don't publish for my platform.
+    Can I get my packages released to sourceforge for other people to use?}{faq6} 
+\item 
+   \ilink{Is there an easier way than sorting out all these command line options?}{faq7}
+\item 
+   \ilink{I just upgraded from 1.36.x to 1.38.x and now my director daemon won't start. It appears to start but dies silently and I get a "connection refused" error when starting the console. What is wrong?}{faq8}  
+\item 
+   \ilink{There are a lot of rpm packages. Which packages do I need for what?}{faq9}  
+\end{enumerate}
+
+\section{Answers}
+\index[general]{Answers }
+
+\begin{enumerate}
+\item 
+   \label{faq1}
+   {\bf How do I build Bacula for platform xxx?}
+   The bacula spec file contains defines to build for several platforms:
+   Red Hat 7.x (rh7), Red Hat 8.0 (rh8), Red Hat 9 (rh9), Fedora Core (fc1,
+   fc3, fc4, fc5, fc6, fc7), Whitebox Enterprise Linux 3.0 (wb3), Red Hat Enterprise Linux 
+   (rhel3, rhel4, rhel5), Mandrake 10.x (mdk), Mandriva 2006.x (mdv) CentOS (centos3, centos4, centos5) 
+   Scientific Linux (sl3, sl4, sl5) and SuSE (su9, su10, su102, su103). The package build is controlled by a mandatory define set at the beginning of the file.  These defines basically just control the dependency information that gets coded into the finished rpm package as well 
+   as any special configure options required.  The platform define may be edited 
+   in the spec file directly (by default all defines are set to 0 or "not set").  
+   For example, to build the Red Hat 7.x package find the line in the spec file
+   which reads
+
+\footnotesize
+\begin{verbatim}
+        %define rh7 0
+        
+\end{verbatim}
+\normalsize
+
+and edit it to read  
+
+\footnotesize
+\begin{verbatim}
+        %define rh7 1
+        
+\end{verbatim}
+\normalsize
+
+Alternately you may pass the define on the command line when calling rpmbuild:
+
+\footnotesize
+\begin{verbatim}
+        rpmbuild -ba --define "build_rh7 1" bacula.spec
+        rpmbuild --rebuild --define build_rh7 1" bacula-x.x.x-x.src.rpm
+        
+\end{verbatim}
+\normalsize
+
+\item 
+   \label{faq2}
+   {\bf How do I control which database support gets built?}
+   Another mandatory build define controls which database support is compiled,
+   one of  build\_sqlite, build\_mysql or build\_postgresql. To get the MySQL
+   package and support either  set the  
+
+\footnotesize
+\begin{verbatim}
+        %define mysql 0
+        OR
+        %define mysql4 0
+        OR
+        %define mysql5 0
+        
+\end{verbatim}
+\normalsize
+
+to  
+
+\footnotesize
+\begin{verbatim}
+        %define mysql 1
+        OR
+        %define mysql4 1
+        OR
+        %define mysql5 1
+        
+\end{verbatim}
+\normalsize
+
+in the spec file directly or pass it to rpmbuild on the command line:  
+
+\footnotesize
+\begin{verbatim}
+        rpmbuild -ba --define "build_rh7 1" --define "build_mysql 1" bacula.spec
+        rpmbuild -ba --define "build_rh7 1" --define "build_mysql4 1" bacula.spec
+        rpmbuild -ba --define "build_rh7 1" --define "build_mysql5 1" bacula.spec
+        
+\end{verbatim}
+\normalsize
+
+\item 
+   \label{faq3}
+   {\bf What other defines are used?}
+   Three other building defines of note are the depkgs\_version, docs\_version and
+   \_rescuever identifiers. These  two defines are set with each release and must 
+   match the version of those sources that are being used to build the packages. 
+   You would not ordinarily need to edit these.  See also the Build Options section 
+   below for other build time options that can be passed on the command line.
+\item 
+   \label{faq4}
+   {\bf I'm getting errors about not having permission when I try  to build the
+   packages. Do I need to be root?}
+   No, you do not need to be root and, in fact, it is better practice to
+   build rpm packages as a non-root user.  Bacula packages are designed to
+   be built by a regular user but you must make a few changes on your
+   system to do this.  If you are building on your own system then the
+   simplest method is to add write permissions for all to the build
+   directory (/usr/src/redhat/, /usr/src/RPM or /usr/src/packages).  
+   To accomplish this, execute the following command as root:
+
+\footnotesize
+\begin{verbatim}
+        chmod -R 777 /usr/src/redhat
+        chmod -R 777 /usr/src/RPM
+        chmod -R 777 /usr/src/packages
+        
+\end{verbatim}
+\normalsize
+
+If you are working on a shared system where you can not use the method
+above then you need to recreate the appropriate above directory tree with all
+of its subdirectories inside your home directory.  Then create a file named
+
+{\tt .rpmmacros} 
+
+in your home directory (or edit  the file if it already exists)
+and add the following line:  
+
+\footnotesize
+\begin{verbatim}
+        %_topdir /home/myuser/redhat
+        %_tmppath /tmp
+        
+\end{verbatim}
+\normalsize
+
+Another handy directive for the .rpmmacros file if you wish to suppress the
+creation of debug rpm packages is:
+
+\footnotesize
+\begin{verbatim}
+        %debug_package %{nil}
+        
+\end{verbatim}
+
+\normalsize
+
+\item 
+   \label{faq5}
+   {\bf I'm building my own rpms but on all platforms and compiles I get an
+   unresolved dependency for something called /usr/afsws/bin/pagsh.} This
+   is a shell from the OpenAFS (Andrew File System).  If you are seeing
+   this then you chose to include the docs/examples directory in your
+   package.  One of the example scripts in this directory is a pagsh
+   script.  Rpmbuild, when scanning for dependencies, looks at the shebang
+   line of all packaged scripts in addition to checking shared libraries.
+   To avoid this do not package the examples directory. If you are seeing this 
+   problem you are building a very old bacula package as the examples have been 
+   removed from the doc packaging.
+
+\item 
+   \label{faq6}
+   {\bf I'm building my own rpms because you don't publish for my platform.
+    Can I get my packages released to sourceforge for other people to use?} Yes, 
+    contributions from users are accepted and appreciated. Please examine the 
+    directory platforms/contrib-rpm in the source code for further information.
+
+\item 
+   \label{faq7}
+   {\bf Is there an easier way than sorting out all these command line options?} Yes, 
+    there is a gui wizard shell script which you can use to rebuild the src rpm package. 
+   Look in the source archive for platforms/contrib-rpm/rpm\_wizard.sh. This script will 
+   allow you to specify build options using GNOME dialog screens. It requires zenity.
+
+\item 
+   \label{faq8}
+   {\bf I just upgraded from 1.36.x to 1.38.x and now my director daemon
+won't start.  It appears to start but dies silently and I get a "connection
+refused" error when starting the console.  What is wrong?} Beginning with
+1.38 the rpm packages are configured to run the director and storage
+daemons as a non-root user.  The file daemon runs as user root and group
+bacula, the storage daemon as user bacula and group disk, and the director
+as user bacula and group bacula.  If you are upgrading you will need to
+change some file permissions for things to work.  Execute the following
+commands as root:
+
+\footnotesize
+\begin{verbatim}
+        chown bacula.bacula /var/bacula/*
+        chown root.bacula /var/bacula/bacula-fd.9102.state
+        chown bacula.disk /var/bacula/bacula-sd.9103.state
+        
+\end{verbatim}
+\normalsize
+
+Further, if you are using File storage volumes rather than tapes those
+files will also need to have ownership set to user bacula and group bacula.
+
+\item 
+   \label{faq9}
+   {\bf There are a lot of rpm packages.  Which packages do I need for
+what?} For a bacula server you need to select the packsge based upon your
+preferred catalog database: one of bacula-mysql, bacula-postgresql or
+bacula-sqlite.  If your system does not provide an mtx package you also
+need bacula-mtx to satisfy that dependancy.  For a client machine you need
+only install bacula-client.  Optionally, for either server or client
+machines, you may install a graphical console bacula-gconsole and/or
+bacula-wxconsole. The Bacula Administration Tool is installed with the 
+bacula-bat package.  One last package, bacula-updatedb is required only when
+upgrading a server more than one database revision level.
+
+
+
+\item {\bf Support for RHEL3/4/5, CentOS 3/4/5, Scientific Linux 3/4/5 and x86\_64}
+   The examples below show
+   explicit build support for RHEL4 and CentOS 4. Build support 
+   for x86\_64 has also been added. 
+\end{enumerate}
+
+\footnotesize
+\begin{verbatim}
+Build with one of these 3 commands:
+
+rpmbuild --rebuild \
+        --define "build_rhel4 1" \
+        --define "build_sqlite 1" \
+        bacula-1.38.3-1.src.rpm
+
+rpmbuild --rebuild \
+        --define "build_rhel4 1" \
+        --define "build_postgresql 1" \
+        bacula-1.38.3-1.src.rpm
+
+rpmbuild --rebuild \
+        --define "build_rhel4 1" \
+        --define "build_mysql4 1" \
+        bacula-1.38.3-1.src.rpm
+
+For CentOS substitute '--define "build_centos4 1"' in place of rhel4. 
+For Scientific Linux substitute '--define "build_sl4 1"' in place of rhel4.
+
+For 64 bit support add '--define "build_x86_64 1"'
+\end{verbatim}
+\normalsize
+
+\section{Build Options}
+\index[general]{Build Options}
+The spec file currently supports building on the following platforms:
+\footnotesize
+\begin{verbatim}
+Red Hat builds
+--define "build_rh7 1"
+--define "build_rh8 1"
+--define "build_rh9 1"
+
+Fedora Core build
+--define "build_fc1 1"
+--define "build_fc3 1"
+--define "build_fc4 1"
+--define "build_fc5 1"
+--define "build_fc6 1"
+--define "build_fc7 1"
+
+Whitebox Enterprise build
+--define "build_wb3 1"
+
+Red Hat Enterprise builds
+--define "build_rhel3 1"
+--define "build_rhel4 1"
+--define "build_rhel5 1"
+
+CentOS build
+--define "build_centos3 1"
+--define "build_centos4 1"
+--define "build_centos5 1"
+
+Scientific Linux build
+--define "build_sl3 1"
+--define "build_sl4 1"
+--define "build_sl5 1"
+
+SuSE build
+--define "build_su9 1"
+--define "build_su10 1"
+--define "build_su102 1"
+--define "build_su103 1"
+
+Mandrake 10.x build
+--define "build_mdk 1"
+
+Mandriva build
+--define "build_mdv 1"
+
+MySQL support:
+for mysql 3.23.x support define this
+--define "build_mysql 1"
+if using mysql 4.x define this,
+currently: Mandrake 10.x, Mandriva 2006.0, SuSE 9.x & 10.0, FC4 & RHEL4
+--define "build_mysql4 1"
+if using mysql 5.x define this,
+currently: SuSE 10.1 & FC5
+--define "build_mysql5 1"
+
+PostgreSQL support:
+--define "build_postgresql 1"
+
+Sqlite support:
+--define "build_sqlite 1"
+
+Build the client rpm only in place of one of the above database full builds:
+--define "build_client_only 1"
+
+X86-64 support:
+--define "build_x86_64 1"
+
+Supress build of bgnome-console:
+--define "nobuild_gconsole 1"
+
+Build the WXWindows console:
+requires wxGTK >= 2.6
+--define "build_wxconsole 1"
+
+Build the Bacula Administration Tool:
+requires QT >= 4.2
+--define "build_bat 1"
+
+Build python scripting support:
+--define "build_python 1"
+
+Modify the Packager tag for third party packages:
+--define "contrib_packager Your Name <youremail@site.org>"
+
+\end{verbatim}
+\normalsize
+
+\section{RPM Install Problems}
+\index[general]{RPM Install Problems}
+In general the RPMs, once properly built should install correctly.
+However, when attempting to run the daemons, a number of problems
+can occur:
+\begin{itemize}
+\item [Wrong /var/bacula Permissions]
+  By default, the Director and Storage daemon do not run with
+  root permission. If the /var/bacula is owned by root, then it
+  is possible that the Director and the Storage daemon will not
+  be able to access this directory, which is used as the Working
+  Directory. To fix this, the easiest thing to do is:
+\begin{verbatim}
+  chown bacula:bacula /var/bacula
+\end{verbatim}
+  Note: as of 1.38.8 /var/bacula is installed root:bacula with
+  permissions 770.
+\item [The Storage daemon cannot Access the Tape drive]
+  This can happen in some older RPM releases where the Storage
+  daemon ran under userid bacula, group bacula.  There are two
+  ways of fixing this: the best is to modify the /etc/init.d/bacula-sd
+  file so that it starts the Storage daemon with group "disk".
+  The second way to fix the problem is to change the permissions
+  of your tape drive (usually /dev/nst0) so that Bacula can access it.
+  You will probably need to change the permissions of the SCSI control
+  device as well, which is usually /dev/sg0.  The exact names depend
+  on your configuration, please see the Tape Testing chapter for
+  more information on devices.
+\end{itemize}