]> git.sur5r.net Git - bacula/docs/blob - docs/manuals/fr/utility/rpm-faq-fr.tex
Apply Sebastien's second French patch
[bacula/docs] / docs / manuals / fr / utility / rpm-faq-fr.tex
1
2 %%
3 %%
4
5 \chapter{FAQ Création de paquets RPM Bacula}
6 \label{RpmFaqChapter}
7 \index[general]{FAQ!Bacula\textsuperscript{\textregistered} - RPM Packaging }
8 \index[general]{Bacula\textsuperscript{\textregistered} - RPM Packaging FAQ }
9
10 \section{FAQ}
11
12 \subsection{Questions}
13
14 \begin{enumerate}
15 \item \ztitleref{faq1}  
16 \item \ztitleref{faq2}  
17 \item \ztitleref{faq3}  
18 \item \ztitleref{faq4}  
19 \item \ztitleref{faq5} 
20 \item \ztitleref{faq6} 
21 \item \ztitleref{faq7}
22 \item \ztitleref{faq8}  
23 \item \ztitleref{faq9}  
24 \end{enumerate}
25
26 \subsection{Réponses}
27    
28    \subsubsection{Comment compiler Bacula pour la plate-forme xxx?}\zlabel{faq1}
29    Le fichier de spec de Bacula contient des \texttt{define} permettant de le 
30    compiler pour plusieurs plates-formes :
31    \begin{itemize}
32    \item Red Hat 7.x (rh7), Red Hat 8.0 (rh8), Red Hat 9 (rh9),
33    \item Fedora Core (fc1, fc3, fc4, fc5, fc6, fc7, fc8),
34    \item Whitebox Enterprise Linux 3.0 (wb3),
35    \item Red Hat Enterprise Linux (rhel3, rhel4, rhel5),
36    \item Mandrake 10.x (mdk), Mandriva 2006.x (mdv), 
37    \item CentOS (centos3, centos4, centos5) 
38    \item Scientific Linux (sl3, sl4, sl5) and
39    \item SuSE (su9, su10, su102, su103, su110).
40    \end{itemize}
41    
42    La construction du paquet est contrôlée par un ensemble de \texttt{define}
43    obligatoires au début du fichier spec. Ces \texttt{define} sont là pour 
44    déterminer les informations de dépendances contenues dans les paquets RPM
45    résultants, ainsi que des options spécifiques à \texttt{configure}. 
46    Le \texttt{define} de plate-forme peut aussi être modifié directement dans
47    le fichier de spec (par défault tous les \texttt{define} sont à 0 ou "not set"
48    ). Par exemple, pour construire le paquet pour Redhat 7.x, il suffit de 
49    trouver la ligne suivante du fichier de spec :
50
51 \footnotesize
52 \begin{verbatim}
53         %define rh7 0
54 \end{verbatim}
55 \normalsize
56
57 et de la modifier de la façon suivante :
58
59 \footnotesize
60 \begin{verbatim}
61         %define rh7 1
62 \end{verbatim}
63 \normalsize
64
65 Une autre possibilité est de passer le define en ligne de commande de rpmbuild :
66
67 \footnotesize
68 \begin{verbatim}
69         rpmbuild -ba --define "build_rh7 1" bacula.spec
70         rpmbuild --rebuild --define build_rh7 1" bacula-x.x.x-x.src.rpm
71 \end{verbatim}
72 \normalsize
73
74    
75    \subsubsection{Comment décider quel sera le support des bases de données}\zlabel{faq2}
76    Un autre \texttt{define} obligatoire décide du support des bases de données
77    dans le binaire résultant, c'est un des suivants : 
78    \begin{itemize}
79    \item \texttt{build\_sqlite}
80    \item \texttt{build\_mysql}
81    \item \texttt{build\_postgresql}
82    \end{itemize}
83    Pour construire le paquet avec le support de MySQL, sans distinction de 
84    version, il faut modifier les lignes suivantes :
85
86 \footnotesize
87 \begin{verbatim}
88         %define mysql 0
89         OR
90         %define mysql4 0
91         OR
92         %define mysql5 0
93 \end{verbatim}
94 \normalsize
95
96 en :
97
98 \footnotesize
99 \begin{verbatim}
100         %define mysql 1
101         OR
102         %define mysql4 1
103         OR
104         %define mysql5 1
105 \end{verbatim}
106 \normalsize
107
108 dans le fichier de spec ou bien en les passant en ligne de commande à rpmbuild :
109
110 \footnotesize
111 \begin{verbatim}
112         rpmbuild -ba --define "build_rh7 1" --define "build_mysql 1" bacula.spec
113         rpmbuild -ba --define "build_rh7 1" --define "build_mysql4 1" bacula.spec
114         rpmbuild -ba --define "build_rh7 1" --define "build_mysql5 1" bacula.spec
115 \end{verbatim}
116 \normalsize
117
118    
119    \subsubsection{Quels autres defines peuvent être utilisés ?}\zlabel{faq3}
120    Trois autres defines à noter sont \texttt{depkgs\_version}, 
121    \texttt{docs\_version} et \texttt{\_rescuever}. Ces deux defines sont 
122    modifiés à chaque release et doivent correspondre à la version des sources
123    utilisées pour construire les paquets. En temps normal, vous n'avez pas 
124    besoin de les omdifier. Voyez aussi la section "Build Options" plus bas pour
125    les autres options de construction qui peuvent être passées en ligne de 
126    commande.
127   
128    \subsubsection{Je rencontre des erreurs de permissions quand j'essaie de
129    construire les paquets. Dois-je être root ?}\zlabel{faq4}
130    Non, vous n'avez pas besoin d'être root, et c'est en fait une bonne habitude
131    de construire les paquets RPM en utilisateur non privilégié. Les paquets de
132    Bacula sont prévus pour être construits en tant qu'utilisateur normal, mais 
133    vous devez effectuez quelques modifications à votre système pour que cela
134    fonctionne. Si vous construisez les paquets sur votre propre système, la 
135    méthode la plus simple est d'ajouter des permissions en écriture à tout le 
136    monde sur les répertoires de construction (/usr/src/redhat/, /usr/src/RPM or
137    /usr/src/packages).  
138    Pour ce faire, tapez les commandes suivantes en tant que root :
139
140 \footnotesize
141 \begin{verbatim}
142         chmod -R 777 /usr/src/redhat
143         chmod -R 777 /usr/src/RPM
144         chmod -R 777 /usr/src/packages
145 \end{verbatim}
146 \normalsize
147
148 Si vous travaillez sur un système partagé où vous ne pouvez pas utliser la 
149 méthode ci-dessus, vous devez créer l'arborescence ci-dessus dans votre 
150 répertoire personnel (home).  Créez ensuite un fichier appelé {\tt .rpmmacros} 
151 dans votre répertoire pesonnel (ou modifiez le fichier s'il existe déjà) pour
152 avoir le contenu de fichier suivant :
153
154 \footnotesize
155 \begin{verbatim}
156         %_topdir /home/myuser/redhat
157         %_tmppath /tmp
158 \end{verbatim}
159 \normalsize
160
161 Une autre directive pratique pour empêcher la création de paquets RPM de debug
162 peut être ajoutée à votre fichier {\tt .rpmmacros} :
163
164 \footnotesize
165 \begin{verbatim}
166         %debug_package %{nil}
167 \end{verbatim}
168 \normalsize
169
170    
171    \subsubsection{Je construis mes propres RPMs mais sur toutes les 
172    plates-formes, j'ai une dépendance non résolue sur /usr/afsws/bin/pagsh.}
173    \zlabel{faq5}
174    C'est un shell de l'OpenAFS (Andrew File System).  Si vous rencontrez cette
175    erreur, c'est que vous avez choisi d'inclure le répertoire docs/examples dans
176    votre paquet. Un des scripts d'exemple de ce répertoire est un script pagsh.
177    Quand {\tt rpmbuild} analyse les dépendances, il vérifie la présence de la
178    ligne shebang de tous les scripts inclus dans le package, en plus des 
179    vérifications de librairies partagées. Pour ne pas avoir cette dépendance, il
180    ne faut pas include le répertoire des exemples dans le paquet. Si vous 
181    rencontrez de problème, vous devez être en train de construire un paquet
182    d'une très vieille version de Bacula, car les exemples ont été supprimés du
183    paquet de documentation.
184       
185    \subsubsection{Je construis mes propres RPMs car vous ne les fournissez pas
186    pour ma plate-forme. Puis-je publier mes paquets sur Sourceforge pour qu'ils
187    servent à d'autres ?}\zlabel{faq6}
188    Oui, les contributions de la part d'utilisateurs sont acceptées et bien sûr
189    appréciées ! Consultez le répertoire \texttt{platforms/contrib-rpm} dans les
190    sources pour plus de détails.
191
192    \subsubsection{Existe-t'il une solution plus simple que d'utiliser toutes ces
193    options en ligne de commmande ?}\zlabel{faq7}
194    Oui, il y a un assistant graphique que vous pouvez utiliser pour construire
195    le paquet src RPM. Vous trouverez dans les sources le script
196    \texttt{platforms/contrib-rpm/rpm\_wizard.sh}, il vous permettra de spécifier
197    les options de construction en passant par une interface graphique GNOME. Ce
198    script nécessite d'avoir zenity installé.
199    
200    \subsubsection{Je viens juste mettre à jour Bacula de la version 1.36.x en
201    1.38.x et le Director Daemon ne démarre plus. Il semble démarrer mais plante
202    en silence, et j'ai une erreur "connection refused" quand je démarre la 
203    console.} \zlabel{faq8}
204    A partir de la version 1.38, les paquets RPMS sont paramétrés pour exécuter
205    les daemons Director et Storage en tant qu'utilisateur non privilégié 
206    (non-root). Le File Daemon est exécuté en tant qu'utilisateur root et groupe
207    bacula, le Storage Daemon en tant qu'utilisateur bacula et groupe disk, et le
208    Director en tant qu'utilisateur bacula et groupe bacula. Lors de la mise à 
209    jour, il faut modifier les droits sur certains fichier pour que tout 
210    fonctionne.   Lancez les commandes suivantes en tant que root :
211
212 \footnotesize
213 \begin{verbatim}
214         chown bacula.bacula /var/bacula/*
215         chown root.bacula /var/bacula/bacula-fd.9102.state
216         chown bacula.disk /var/bacula/bacula-sd.9103.state
217 \end{verbatim}
218 \normalsize
219
220 Ensuite, si vous utilisez des volumes de type File plutôt que des bandes, ces
221 fichiers devront appartenir à l'utilisateur bacula et au groupe bacula.
222   
223    \subsubsection{Il y a beaucoup de paquets RPM, duquel ai-je besoin pour quel
224    rôle ?}\zlabel{faq9}
225    Pour un serveur Bacula, vous devez choisir le paquet suivant le système de 
226    base de données que vous utiliserez pour le catalogue : c'est soit
227    bacula-mysql, bacula-postgresql ou bacula-sqlite. Si votre système ne fournit
228    pas de paquet pour mtx, vous devez installer bacula-mtx pour satisfaire la
229    dépendance. Pour une machine client, vous devez seulement installer 
230    bacula-client. Pour soit un serveur ou uyn client, vous pouvez installer 
231    les consoles graphiques bacula-gconsole et/ou bacula-wxconsole. BAT (Bacula
232    Administration Tool) est installé par le paquet bacula-bat. Pour finir, le
233    paquet bacula-updatedb est requis seulement lors des mises à jour d'un 
234    serveur, de plus d'un niveau de révision de base de données. 
235
236
237 \section{Support for RHEL3/4/5, CentOS 3/4/5, Scientific Linux 3/4/5 and x86\_64}
238
239 Les exemples ci-dessous démontrent des constructions avec le support 
240    explicite de la RHEL4 et de la CentOS4. Le support de l'architecture x86\_64 
241    a également été ajouté. 
242
243    Lancez la construction avec une de ces trois commandes :
244
245 \footnotesize
246 \begin{verbatim}
247 rpmbuild --rebuild \
248         --define "build_rhel4 1" \
249         --define "build_sqlite 1" \
250         bacula-1.38.3-1.src.rpm
251
252 rpmbuild --rebuild \
253         --define "build_rhel4 1" \
254         --define "build_postgresql 1" \
255         bacula-1.38.3-1.src.rpm
256
257 rpmbuild --rebuild \
258         --define "build_rhel4 1" \
259         --define "build_mysql4 1" \
260         bacula-1.38.3-1.src.rpm
261 \end{verbatim}
262 \normalsize
263
264 Pour la CentOS, indiquez {\tt--define "build\_centos4 1"} à la place de rhel4. 
265 Pour la Scientific Linux, indiquez {\tt--define "build\_sl4 1"} à la place de 
266 rhel4.
267
268 Pour le support du 64 bits, ajoutez {\tt--define "build\_x86\_64 1"}
269
270 \section{Options de construction}
271 \index[general]{Options de construction}
272 Le fichier de spec supporte actuellement la construction sur les plateformes
273 suivantes :
274 \footnotesize
275 \begin{verbatim}
276 Red Hat builds
277 --define "build_rh7 1"
278 --define "build_rh8 1"
279 --define "build_rh9 1"
280
281 Fedora Core build
282 --define "build_fc1 1"
283 --define "build_fc3 1"
284 --define "build_fc4 1"
285 --define "build_fc5 1"
286 --define "build_fc6 1"
287 --define "build_fc7 1"
288 --define "build_fc8 1"
289 --define "build_fc9 1"
290
291 Whitebox Enterprise build
292 --define "build_wb3 1"
293
294 Red Hat Enterprise builds
295 --define "build_rhel3 1"
296 --define "build_rhel4 1"
297 --define "build_rhel5 1"
298
299 CentOS build
300 --define "build_centos3 1"
301 --define "build_centos4 1"
302 --define "build_centos5 1"
303
304 Scientific Linux build
305 --define "build_sl3 1"
306 --define "build_sl4 1"
307 --define "build_sl5 1"
308
309 SuSE build
310 --define "build_su9 1"
311 --define "build_su10 1"
312 --define "build_su102 1"
313 --define "build_su103 1"
314 --define "build_su110 1"
315 --define "build_su111 1"
316
317 Mandrake 10.x build
318 --define "build_mdk 1"
319
320 Mandriva build
321 --define "build_mdv 1"
322
323 MySQL support:
324 for mysql 3.23.x support define this
325 --define "build_mysql 1"
326 if using mysql 4.x define this,
327 currently: Mandrake 10.x, Mandriva 2006.0, SuSE 9.x & 10.0, FC4 & RHEL4
328 --define "build_mysql4 1"
329 if using mysql 5.x define this,
330 currently: SuSE 10.1 & FC5
331 --define "build_mysql5 1"
332
333 PostgreSQL support:
334 --define "build_postgresql 1"
335
336 Sqlite support:
337 --define "build_sqlite 1"
338
339 Build the client rpm only in place of one of the above database full builds:
340 --define "build_client_only 1"
341
342 X86-64 support:
343 --define "build_x86_64 1"
344
345 Supress build of bgnome-console:
346 --define "nobuild_gconsole 1"
347
348 Build the WXWindows console:
349 requires wxGTK >= 2.6
350 --define "build_wxconsole 1"
351
352 Build the Bacula Administration Tool:
353 requires QT >= 4.2
354 --define "build_bat 1"
355
356 Build python scripting support:
357 --define "build_python 1"
358
359 Modify the Packager tag for third party packages:
360 --define "contrib_packager Your Name <youremail@site.org>"
361
362 Install most files to /opt/bacula directory:
363 --define "single_dir_install 1"
364
365 Build the rescue files:
366 --define "build_rescue 1"
367
368 \end{verbatim}
369 \normalsize
370
371 \section{Problèmes d'installation de RPMs}
372 \index[general]{Problèmes d'installation de RPMs}
373 Une fois qu'ils sont correctement construits, les paquets RPM s'installent en
374 général sans problème. Toute fois, certains problèmes peuvent se déclarer au
375 lancement des daemons :
376 \begin{itemize}
377 \item Mauvaises permissions sur /var/bacula : par défaut, les daemons Director 
378     Storage ne sont pas exécutés en root. Si /var/bacula appartient à root, il
379     est possible que les daemons Director et Storage ne soient pas capables 
380     d'accéder à ce répertoire, alors que c'est leur répertoire de travail 
381     (Working Directory). Pour corriger celà, la méthode la plus simple est :
382     \verb+chown bacula:bacula /var/bacula+.\\
383   Note : à partir de la version 1.38.8, le répertoire /var/bacula est créé avec
384   des permissions en mode 770 et un propriétaire à root:bacula.
385 \item Le Storage daemon ne peut pas accéder au lecteur de bandes : ceci peut 
386     arriver dans des anciennes versions de paquets RPM où le Storage Daemon
387     fonctionnait sous l'identité userid bacula, groupe bacula. Il y a deux
388     méthodes pour corriger ceci : la meilleure reste de modifier le script de
389     démarrage /etc/init.d/bacula-sd pour que le Storage daemon soit lancé sous
390     le groupe "disk". La seconde méthode est de changer les droits sur le 
391     device du lecteur de bande (habituellement /dev/nst0) pour que Bacula puisse
392     y accéder. Vous devrez certainement aussi changer les permissions sur le
393     device de contrôle SCSI, habituellement /dev/sg0. Les noms exacts de device
394     dépendent de votre configuration, référez-vous au chapitre "Tape Testing"
395     pour plus d'informations sur les devices.
396 \end{itemize}
397