Imported Upstream version 2.5.2p1
[debian/amanda] / docs / install.txt
1
2 Chapter 2. Amanda Installation Notes
3 Prev  Part I. Installation      Next
4
5 -------------------------------------------------------------------------------
6
7 Chapter 2. Amanda Installation Notes
8
9
10 James da Silva
11
12 Original text
13 AMANDA Core Team
14 <jds@amanda.org>
15
16 Stefan G. Weichinger
17
18 XML-conversion, Updates
19 AMANDA Core Team
20 <sgw@amanda.org>
21 Table of Contents
22
23
24   Before_doing_anything
25
26   Compiling_the_Amanda_sources
27
28   Setting_up_your_Amanda_Configuration
29
30
31         Setting_up_the_Tape_Server_Host
32
33         Set_up_the_Backup_Client_Hosts
34
35
36 This document covers the compilation, installation, and runtime setup of Amanda
37 2.4.2 and higher.
38
39  Before doing anything
40
41
42 * Read this document all the way through.
43 * Consult Amanda_2.4.x_-_System-Specific_Installation_Notes for installation
44   notes specific to particular operating systems. There is often important
45   information there, so don't forget this step.
46 * Read Upgrade_Issues if you are upgrading from a previous Amanda version.
47   There are some issues that you will need to be aware of.
48 * If you are using KERBEROS authentication, read Kerberos for details on
49   installing and running the kerberized version of Amanda.
50 * Check the Amanda Patches Page, http://www.amanda.org/patches/.
51
52
53  Compiling the Amanda sources
54
55 If you have multiple architectures, you only need to install the whole Amanda
56 package on the tape server host (the one with tape drive). On the backup client
57 hosts (the ones you are going to dump), you only need to compile some of the
58 Amanda programs (see section Set_up_the_Backup_Client_Hosts below).
59
60  Source configuration
61
62
63 * Amanda can optionally make use of the following packages to back up different
64   types of clients or clients with different filesystem dumping programs.
65
66   o GNU-tar:
67     If you wish to use GNU-tar to back up filesystems, it is recommended to use
68     GNU-tar 1.13.25. Plain GNU-tar 1.12 needs to be patched to handle large
69     files (> 2GB). Plain GNU-tar 1.13 creates bad index-lists which amrecover
70     cannot handle, as does the rarely used GNU-tar 1.13.9x, which changed the
71     index-format again in an incompatible way.
72     Refer to the Amanda_FAQ for more information about issues with the various
73     releases of GNU-tar.
74     If you need to use GNU-tar 1.12, get it at
75     ftp://ftp.gnu.org/pub/gnu/tar/tar-1.12.tar.gz
76     and apply the patch from patches/tar-1.12.patch. The first hunk may be
77     enough, unless it's a SunOS4 host. Read more about the patches in the patch
78     file itself.
79     GNU-tar 1.13.25 can be found at:
80     ftp://alpha.gnu.org/pub/gnu/tar/tar-1.13.25.tar.gz
81   o Samba:
82     Samba allows Unix systems to talk to PC clients. Amanda can back up
83     Microsoft Windows clients using Samba:
84     http://www.samba.org
85     Read Backup_PC_hosts_using_Samba for configuration tips and known
86     limitations.
87     Look at http://www.amanda.org/patches/ for up to date information on
88     patches.
89   o Perl:
90     If you wish to make use of some of the scripts that come with Amanda, you
91     will need to install Perl. You can get Perl from any CPAN site.
92     ftp://ftp.cpan.org/pub/CPAN/src/perl-5.6.1.tar.gz
93   o Awk:
94     One of the programs included in this package is amplot, which reads a data
95     file that Amanda generates for each dump and translates that information in
96     it into a nice picture that can be used to determine how your installation
97     is doing and if any parameters need to be changed. To use amplot, you need
98     a version of awk that understands command line variable substitutions, such
99     as nawk or gawk, which is available from
100     ftp://ftp.gnu.org/pub/gnu/gawk/gawk-3.1.1.tar.gz
101   o GNUplot:
102     Amplot also required that gnuplot be installed on your system. Gnuplot is
103     available at
104     http://www.gnuplot.org/ ftp://ftp.gnuplot.org/pub/gnuplot
105   o Other packages:
106     The process of building Amanda requires that some other packages be
107     installed on your system. The following packages are used:
108     ftp://ftp.gnu.org/pub/gnu/readline/readline-5.0.tar.gz
109     amrecover optionally uses the readline library for its command-line edition
110     mechanisms. (If you use a package-based distribution, check for the package
111     readline-devel-X.Y.rpm.) This library itself requires either termcap,
112     curses or ncurses. termcap is preferred, and it may be obtained from:
113     ftp://ftp.gnu.org/pub/gnu/termcap/termcap-1.3.1.tar.gz.
114     If you wish to edit and enhance Amanda, you may need to install the
115     following tools. Autoconf and automake are required if you are going to
116     rebuild the Makefiles and auto configuration scripts. Bison is only needed
117     if you are going to work on the index server and client code.
118     ftp://ftp.gnu.org/pub/gnu/autoconf/autoconf-2.53.tar.gz ftp://ftp.gnu.org/
119     pub/gnu/automake/automake-1.6.3.tar.gz ftp://ftp.gnu.org/pub/gnu/bison/
120     bison-1.27.tar.gz ftp://ftp.gnu.org/pub/gnu/flex/flex-2.5.4a.tar.gz
121
122 * Read about the different configuration options available for building and
123   running Amanda. To see the options, do both:
124
125   o Run ./configure --help to see the available options that configure takes.
126   o Read the file example/config.site which gives longer descriptions to the
127     same options.
128
129 * Choose which user and group you will run the dumps under. Common choices for
130   user are `bin' or another user specifically created for Amanda, such as
131   `amanda'; common choices for group are `operator' or `disk'. If you do not
132   specify --with-user=<username> and --with-group=<groupname>, configure will
133   abort. Also choose the default name for your configuration, such as `csd' or
134   `DailySet1'). This name is used by the Amanda commands to choose one of
135   multiple possible configurations. You may specify it using the --with-
136   config=<confgname>.
137 * Decide where Amanda will live. You need to choose a root directory for
138   Amanda. Let this root directory be called $prefix. Unless you change the
139   default behavior with the appropriate command line options, Amanda will
140   install itself as. Listed below you find the appropriate configure-option for
141   each directory to change the location of this part of Amanda.
142
143     --sbindir=$prefix/sbin                                      Amanda server side programs
144     --libexecdir=$prefix/libexec                                Amanda backup client programs
145     --libdir=$prefix/lib                                        Amanda dynamic libraries
146     --with-configdir=$prefix/etc/amanda                 Runtime configuration files
147     --with-gnutar-listdir=$prefix/var/amanda/gnutar-lists       Directory for GNU-tar
148     lists (client)
149     --mandir=$prefix/man                                        Directory for manual pages
150
151   Note that the GNU-tar listdir should be a local filesystem on each client
152   that is going to be backed up with GNU-tar. If it really must be NFS-mounted,
153   make sure the filesystem is exported so that the client has root access to
154   it.
155 * Decide if you are compiling Amanda on a server only or a client only
156   platform. If you have a particular operating system that will only be a
157   Amanda client and will never run as the master tape host, then add the --
158   without-server option to configure. In the unlikely case that you have a
159   particular operating system that will serve as the tape host and you do not
160   wish to back up any machines that run this operating system, add the --
161   without-client option to the configure options. There are many other
162   configuration switches for Amanda. You may learn more about them by running
163   configure --help and by reading examples/config.site.
164 * Now configure Amanda. There are two ways of doing this. If you are running
165   Amanda on a single OS, then probably the first method works better for you.
166   If you need to support multiple platforms, then the second method will work
167   better.
168
169   o Run configure as non-root-user with the appropriate command line options.
170     You will probably want to remember the command line options for future
171     builds of Amanda.
172   o Edit examples/config.site and install it in the directory $prefix/etc or
173     $prefix/share. When configure runs the next time it will look for this file
174     and use it to configure Amanda.
175
176
177
178  Building and installing the binaries
179
180
181 * Back at the top-level source directory, build the sources:
182
183     make
184     su root; make install
185
186   Make sure that you don't build the software as root, you may run the first
187   make-command as the Amanda-user, for example. On the other hand you have to
188   run make install as root to get the binaries installed with the proper
189   permissions. If you want to change the compiler flags, you can do so like
190   this:
191
192     make CFLAGS="-O3 -Wall"
193
194 * If you have built with USE_VERSION_SUFFIXES, you will want to create symlinks
195   to the version you wish to use, eg: ln -s amdump-x.y.z amdump This is not
196   done automatically by the install process, so that you can have multiple
197   Amanda versions co-existing, and choose yourself which to make the default
198   version. The script contrib/set_prod_link.pl may save you some keystrokes.
199 * Run ldconfig as root to update the paths to the recently installed shared
200   libraries.
201
202
203  Setting up your Amanda Configuration
204
205
206  Setting up the Tape Server Host
207
208
209 * Create the config directory (eg. /usr/local/etc/amanda/confname) and copy the
210   example/ files into that directory. Edit these files to be correct for your
211   site, consulting the amanda(8) man page if necessary. You can also send mail
212   to mailto://amanda-users@amanda.org if you are having trouble deciding how to
213   set things up. You will also need to create the directory for the log and
214   database files for the configuration to use (eg /usr/local/var/amanda/
215   confname), and the work directory on the holding disk. These directories need
216   to agree with the parameters in amanda.conf. Don't forget to make all these
217   directories writable by the dump user!
218   Make sure that you specify the *no-rewind* version of the tape device in your
219   amanda.conf file. This is a frequently encountered problem for new sites.
220   Note that you might want to temporarily set the option "no-record" in all
221   your dumptypes when first installing Amanda if you'd like to run tests of
222   Amanda in parallel with your existing dump scheme. Amanda will then run but
223   will not interfere with your current dumpdates. However, you don't want to
224   run with "no-record" under normal operations.
225 * Put Amanda into your crontab. Here's a sample:
226   Example 2.1. /etc/crontab
227
228     0 16 * * 1-5 /usr/local/sbin/amcheck -m confname
229     45 0 * * 2-6 /usr/local/sbin/amdump confname
230
231
232   This is for SunOS 4.x, which has a per-user crontab; most other systems also
233   require a userid on each cron line. See your cron(8) for details. With these
234   cron lines, Amanda will check that the correct tape is in the drive every
235   weekday afternoon at 4pm (if it isn't, all the operators will get mail). At
236   12:45am that night the dumps will be run.
237 * Put the Amanda services into your /etc/services file. Add entries like:
238   Example 2.2. /etc/services
239
240     amanda              10080/udp
241     amandaidx   10082/tcp
242     amidxtape   10083/tcp
243
244
245   You may choose a different port number if you like, but it must match that in
246   the services file on the client hosts too.
247   If you are running NIS (aka YP), you have to enter the Amanda service into
248   your NIS services database. Consult your NIS documentation for details.
249   You may use the `patch-system' script, from client-src, in order to modify
250   this file. Run it with a `-h' argument for usage.
251 * If you are going to use the indexing capabilities of Amanda, follow one of
252   the following steps:
253
254   o If your server uses inetd, then add these lines to your inetd.conf on the
255     tape server host:
256     Example 2.3. /etc/inetd.conf
257
258         amandaidx stream tcp nowait $USER $AMINDEXD_PATH amindexd
259         amidxtape stream tcp nowait $USER $AMIDXTAPED_PATH amidxtaped
260
261
262     where $AMINDEXD_PATH and $AMIDXTAPED_PATH are the complete paths to where
263     the amindexd and amidxtaped executables (usually libexec_dir/amindexd and
264     libexec_dir/amidxtaped), and USER is the Amanda user.
265     You may use the `patch-system' script, from client-src, in order to modify
266     this file. Run it with a `-h' argument for usage.
267   o If your tape server uses xinetd instead of inetd, then you have to add the
268     following two files to your xinetd-configuration (usually /etc/xinetd.d)
269     and edit the paths:
270     Example 2.4. /etc/xinetd.d/amandaidx
271
272         service amandaidx
273       {
274         socket_type             = stream
275                 protocol                = tcp
276                 wait                    = no
277                 user                    = $USER
278                 group                   = $GROUP
279                 groups                  = yes
280                 server                  = $AMINDEXD_PATH/amindexd }
281
282
283     Example 2.5. /etc/xinetd.d/amidxtape
284
285       service amidxtape
286       {
287         socket_type             = stream
288                 protocol                = tcp
289                 wait                    = no
290                 user                    = $USER
291                 group                   = $GROUP
292                 groups                  = yes
293                 server                  = $AMIDXTAPED_PATH/amidxtaped }
294
295
296   o If your tape server uses Dan Bernstein's daemontools http://cr.yp.to/
297     daemontools.html) instead of (x)inetd, you have to create amandaidx and
298     amidxtape services by hand.
299
300     # Create service directories:
301
302         mkdir -p $prefix/etc/amanda/supervise/amandaidx
303         mkdir -p $prefix/etc/amanda/supervise/amidxtape
304
305     # Create service startup files and make them executable:
306       Example 2.6. /etc/amanda/supervise/amandaidx/run
307
308         #!/bin/sh
309         exec /usr/local/bin/setuidgid amanda \
310         /usr/local/bin/tcpserver -DHRl0 0 10082 \
311         /usr/local/libexec/amindexd >/dev/null 2>/dev/null
312
313
314       Example 2.7. /etc/amanda/supervise/amidxtape/run
315
316         #!/bin/sh
317         exec /usr/local/bin/setuidgid amanda \
318         /usr/local/bin/tcpserver -DHRl0 0 10083 \
319         /usr/local/libexec/amidxtaped >/dev/null 2>/dev/null
320
321
322     # Link service directories into your svscan directory:
323
324         cd /service
325         ln -s $prefix/etc/amanda/supervise/amandaidx .
326         ln -s $prefix/etc/amanda/supervise/amidxtape .
327
328
329
330 * If the tape server host is itself going to be backed up (as is usually the
331   case), you must also follow the client-side install instructions below on the
332   server host, INCLUDING setting up the file .amandahosts so that the server
333   host lets itself in. This is a frequently encountered problem for new sites.
334
335
336  Set up the Backup Client Hosts
337
338
339 * When using BSD-style security (enabled by default), set up your
340   ~dumpuser/.amandahosts (or ~dumpuser/.rhosts and/or /etc/hosts.equiv, if you
341   have configured --without-amandahosts) so that the dumpuser is allowed in
342   from the server host. Only canonical host names will be accepted in
343   .amandahosts, and usernames must be present in every line, because this is
344   safer.
345 * Set up your raw disk devices so that the dumpuser can read them, and /etc/
346   dumpdates so that the dumpuser can write to it. Normally this is done by
347   making the disk devices readable by (and dumpdates read/writable by) group
348   `operator', and putting the dumpuser into that group.
349 * Put the Amanda service into your /etc/services file. Add entry like:
350   Example 2.8. /etc/services
351
352     amanda              10080/udp
353     amandaidx   10082/tcp
354     amidxtape   10083/tcp
355
356
357   You may choose a different port number if you like, but it must match that in
358   the services file on the tape server host too.
359   If you are running NIS (aka YP), you have to enter the Amanda service into
360   your NIS services database. Consult your NIS documentation for details.
361   You may use the `patch-system' script, from client-src, in order to modify
362   this file. Run it with a `-h' argument for usage.
363 * Follow one of the following steps to set up the Amanda client service:
364
365   o If your Amanda client uses inetd, put the Amanda client service into
366     inetd's config file. This file is usually found in /etc/inetd.conf, but on
367     older systems it is /etc/servers. The format is different on different
368     OSes, so you must consult the inetd man page for your site. Here is an
369     example from our site, again from SunOS 4.x:
370     Example 2.9. /etc/inetd.conf
371
372       amanda dgram udp wait USER AMANDAD_PATH amandad
373
374
375     You may use the `patch-system' script, from client-src, in order to modify
376     this file. Run it with a `-h' argument for usage.
377   o If your Amanda client uses xinetd, you have to add the following file to
378     your xinetd-configuration (usually /etc/xinetd.d) and edit it to reflect
379     your settings and paths:
380     Example 2.10. /etc/xinetd.d/amanda
381
382       service amanda
383       {
384       socket_type               = dgram
385       protocol          = udp
386       wait                      = yes
387       user                      = $USER
388       group                     = $GROUP
389       groups                    = yes
390       server                    = $AMANDAD_PATH/amandad
391       }
392
393
394   o If your Amanda client uses Dan Bernstein's daemontools (http://cr.yp.to/
395     daemontools.html) instead of (x)inetd, you have to create the amanda
396     service by hand. You will need also an UDP super-server (netcat in this
397     example).
398
399     # Create service directory:
400
401         mkdir -p /etc/amanda/supervise/amanda
402
403     # Create service startup file and make it executable:
404       Example 2.11. /etc/amanda/supervise/amanda/run
405
406         #!/bin/sh
407         exec /usr/local/bin/setuidgid amanda \
408           /usr/bin/netcat -l -u -p 10080 -q 0 \
409           -e /usr/local/libexec/amandad >/dev/null 2>/dev/null
410
411
412
413       Note
414
415       The netcat-binary used in this run-file might also be called /usr/bin/nc
416       on your system, depending on the OS-distribution you use. Refer to http:/
417       /netcat.sourceforge.net for details of netcat.
418     # Link service directory into your svscan directory:
419
420         cd /service
421         ln -s /etc/amanda/supervise/amanda .
422
423
424
425 * If you are using (x)inetd, kick inetd/xinetd to make it read its config file.
426   On most systems you can just execute kill -HUP inetd (or xinetd). On older
427   systems you may have to kill it completely and restart it. Note that killing/
428   restarting (x)inetd is not safe to do unless you are sure that no (x)inetd
429   services (like rlogin) are currently in use, otherwise (x)inetd will not be
430   able to bind that port and that service will be unavailable.
431   If you are using the daemontools, svscan should detect and start your new
432   services automatically.
433 * If you intend to back up xfs filesystems on hosts running IRIX, you must
434   create the directory /var/xfsdump/inventory, otherwise xfsdump will not work.
435
436 THAT'S IT! YOU ARE READY TO RUN, UNLESS WE FORGOT SOMETHING.
437 Please send mail to mailto://amanda-users@amanda.org if you have any comments
438 or questions. We're not afraid of negative reviews, so let us have it!
439 Before writing questions, you may prefer to take a look at the Amanda_FAQ and
440 at the Amanda home page, at http://www.amanda.org. Browsable archives of Amanda
441 mailing-lists are available at http://marc.theaimsgroup.com/?l=amanda-users and
442 http://marc.theaimsgroup.com/?l=amanda-hackers.
443
444 Note
445
446 Refer to http://www.amanda.org/docs/install.html for the current version of
447 this document.
448 -------------------------------------------------------------------------------
449
450 Prev                                       Up                   Next
451 Chapter 1. Amanda 2.5.0 - System-Specific Home  Chapter 3. Excluding
452 Installation Notes 
453