Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / afsinstall / lib / InstallGuides / info / gui.toc
CommitLineData
805e021f
CE
1
2Help on the GUI Installer
3==========================
4
5
6Table of Contents
7------------------
8Introduction
9Install Guides
10 Sysname directories
11 Wildcard directories
12 .skip files
13The RC File
14The Main Window
15 Hostname
16 Local installs
17 Remote installs
18 Multiple installations
19 Path
20 Finding the AFS distribution
21 Finding the AFS sysname
22 Accelerator buttons
23 Setting default path from command line
24 Packages
25 Default vs Custom installation
26 List of available packages and where it comes from
27 Command line list of packages
28 Adding new packages to the list
29 Options
30 Verbose
31 Backup files
32 Setting default values from command line
33Installation
34 Info Only
35 Install
36 The Progress window
37 Default installations
38 Seeing the command output
39 Finishing up the installation
40 Why those two buttons are disabled
41Exit
42Errors
43
44
45
46INTRODUCTION
47------------
48This program is designed to install AFS on a machine from a
49standard AFS distribution directory. The AFS distribution is
50logically divided into sections called "packages", and one or more
51packages can be installed at a time. AFS can be installed on the
52local machine or to one or more remote machines on which AFS aware
53inetd is running.
54
55INSTALL GUIDES
56--------------
57 The installation of packages is controlled by perl subscripts
58called Install Guides. The complete set of Install Guides is kept
59under the lib/InstallGuides directory. There is one Install Guide
60per package, and it provides all of the Perl code that is necessary
61to install that package. Because different systems have different
62requirements for installation, the InstallGuides/ directory has in
63it different subdirectories for different systems. The
64subdirectories match the AFS sysnames, such as "sgi_64". Inside
65each system name subdirectory are package files that are specific
66to the system.
67 There are also wildcard subdirectories, such as SGI_x, which can
68be searched if a desired package is NOT in its sysname
69subdirectory. The wildcarding consists of capitalizing the letters
70in the sysname, and using the letter "x" to match one or more
71characters. In the case of multiple wildcard directories matching a
72sysname, the longest wildcard directory wins.
73 As a catchall wildcard, there is also a subdirectory "GENERIC"
74that can be searched if all other matches fail.
75 If a file exists whose name is a package name with ".skip"
76appended, that package will not be installed on machines of that
77system type. This is useful to prevent GENERIC Installation Guides
78from being used, such as "bldkernel" on Solaris machines or "vfsck"
79on SGI machines.
80
81RC FILE
82--------
83 This installer program uses an rc script named "afsinstall.rc"
84located in the InstallGuides/ subdirectories. Locating the right one
85follows the same rules as locating an InstallGuide: look in the
86sysname subdirectory, then look in the wildcard directories, and
87lastly look in GENERIC.
88 The GENERIC afsinstall.rc file is always read in, followed by the
89most system specific one available, if any. There can also be an
90afsinstall.rc file in the user's home directory given by the
91environment variable "HOME", and if it exists it will be read in
92last. If more than one of these afsinstall.rc files are read in, the
93files read later will merge with and overwrite the values and options
94from the earlier files.
95 The rc file consists of three sections separated by a blank
96line. The first section sets up Path accelerator buttons, the second
97describes available packages. Both are described in the appropriate
98sections below. The third section sets configuration options similar
99to environment variables. Each line is of the form
100
101NAME=VALUE
102
103The InstallGuide files can then access the VALUE by referencing the
104key NAME in the hash Configuration. This is intended for use as
105options such as use of NFS aware kernel libraries, default cache size,
106etc. The VALUE can be omitted after the equals sign to signify a NULL
107value.
108
109 The personal afsinstall.rc file in the user's home directory is
110intended to let the user select default packages to install and
111default options such as usage of NFS libraries. Because the user may
112want to set different options for different system types, system
113specific options can be put into an afsinstall.rc file. To make a
114given line in the file apply only to certain system types, the line
115can be prepended with an AFS system name followed by a colon, such as:
116
117sun4x_56 :modkernel 1 Dynamic kernel libraries and afsd
118 ALPHA_x :modkernel 0 Dynamic kernel libraries and afsd
119
120The first line shows that Solaris 2.6 systems should have the
121"modkernel" package installed by default, while the wildcarded second
122line shows the same option should be off by default on all Alpha
123platforms. All systems that were not running Solaris 2.6 would
124completely skip the first line, such that the determination of
125installing the "modkernel" package by default would have to be
126resolved by one of the other afsinstall.rc files that was read in.
127The same applies for the second line in the example above for non
128Alpha machines.
129
130
131THE MAIN WINDOW
132----------------
133The install window is divided into four sections. From top to
134bottom, these sections select the host or hosts on which to
135install, locate the AFS distribution, select the packages to
136install, and set certain options.
137
138
139HOSTNAME
140--------
141 The top section first appears as an entry box labelled "Hostname"
142with the local hostname filled in. The local hostname was taken
143from the HOST environment variable. If an install is begun by
144pressing the "INSTALL" button, AFS will be installed on the local
145machine using the same user identity by which this program was run.
146 If a new value is typed in and entered with the RETURN key, a
147second entry box will appear labelled "rsh as username:", and a
148default username is filled in. This value came from the RSHas
149variable set at the top of this program. When an installation is
150started, the program will attempt to make an rsh connection to the
151hostname entered under the identity given in the "rsh as username:"
152box. Note that rsh will still be used if the hostname entered does
153not match the HOST environment variable but still refers to the
154local host (eg entering "localhost" or the FQDN). Also note that
155setting up an AFS aware inetd on the remote machine requires that
156the AFS client is already running, so this feature is primarily
157intended for AFS upgrades and not first time installs.
158 If the value entered into the "Hostname" box is a filename, the
159label for that box becomes "Filename". If an install is then
160started by pressing the "INSTALL" button, the entered file is read
161and each line of the file is used as a remote hostname on which to
162install AFS using rsh.
163
164PATH
165----
166 The Path section is divided into two parts. The upper part is an
167entry box and the lower half is several default value buttons. The
168path to the distribution of AFS is entered into the upper entry
169box. When an install is started by pressing the "INSTALL" button,
170the path given is inspected, searching for signs of an AFS
171distribution. Namely, the existence of a "root.client" directory is
172used to determine if there is an AFS distribution. If the path
173given does not have an AFS distribution, the installer will also
174look for one under a directory matching the host's AFS sysname (eg
175sun4x_55) and a directory under that named "dest". If no AFS
176distribution can be found, the installation exits with an error.
177 The AFS sysname is determined automatically using the output of
178/bin/uname and NOT via "fs sysname". If an installation is being
179done on a remote machine, the remote machine's AFS sysname is used,
180allowing installations on heterogeneous networks.
181 The buttons in the lower half of the Path section will enter in
182path names for you into the upper entry box. By clicking on any of
183the buttons, the entry box is cleared and a new value is
184inserted. A special button "CLEAR" is automatically provided which
185simply clears the entry box. The other buttons are taken from the
186top half of the installer rc script. The lines from that file
187consist of a key word to put into the button, followed by a pathname. If
188one of the accelerator buttons has the key word "default", the
189pathname given will be entered into the entry box when the program
190starts, and no button is rendered for it.
191 If the "-path" flag was given on the command line, whatever
192string followed that flag will be filled in as the default install
193path.
194
195PACKAGES
196--------
197 The Packages area is also divided into two halves. The upper half
198consists of two radio buttons which allow you to install either a
199default set of packages or a hand selected set of packages. The
200lower half lists the packages that can be hand selected, and is
201only used if the "Custom installation:" radio button is selected.
202 The list of packages available is read from the lower section of
203the afsinstall.rc file. Each line consists of three parts: the
204package name (and, therefore, matching InstallGuide filename), the
205default mode for that package, and a brief explanation of the
206package. If the "Default Installation" radio button is selected,
207all those packages with a "mode" of "1" will be installed. These
208default packages are also initially selected in the "custom"
209packages area when the program starts.
210 Note that the list of default packages can change from system to
211sytem, depending on which afsinstall.rc file in the
212lib/InstallGuides/ directories matches the system name on which AFS
213is being installed. Thus the default packages on the local machine
214may be different from those on remote machines if the remote
215machines are of different system types.
216 If the "-pkg" flag was given on the command line when the
217installer was invoked, the list of package names provided will be
218selected and the "Custom installation" radio button will select
219itself.
220 See the "INFO ONLY" button (below) for details about what each
221package does.
222 New packages can be added by creating Perl subscripts in the
223InstallGuides/ directories and appending an entry to the
224afsinstall.rc file. The Install Guide subscript file is given the
225same name as the package name. Within the file is a function also
226with the same name as the package. Whatever code is within that
227function will be loaded in and executed when that package is
228installed. Several "smart" functions are available in the body of
229the installer program itself, such as &Copy(), &Symlink(), and
230&CreateDir(). Following the code of other existing Install Guides
231will show how these functions can be used.
232
233
234OPTIONS
235-------
236 There are two option buttons. The first option, labelled "Verbose"
237turns on verbose output. When selected, the installations will provide
238more output about what they are doing. Without this option, only the
239package names and error messages are output during the install. The
240second option button, "Don't keep backup files", instructs the
241installer to not keep a backup of files being overwritten. When the
242option is off, a file that is about to be overwritten will be moved
243aside by appending .old to the filename.
244 Both options are off by default. The "-v" flag can be given on the
245command line to turn on the Verbose option, and the "-nobackup" flag
246will disable backup file creation.
247
248
249
250INSTALLATION
251=============
252
253INFO ONLY
254---------
255 If this button is pressed, no installation of AFS will actually
256occur. Instead, a window appears and gives details about what each
257selected package does. The information is derived from the "info"
258subdirectory in the InstallGuides/ area. The window has a "DISMISS"
259button for when you are finished reading.
260 This help guide is actually the info guide named "gui".
261
262INSTALL
263--------
264 This button begins the actual installation. When pressed, a new
265window will appear, called the Progress window. The window will
266contain a column of boxes for each machine on which an
267installation is running. Note that multiple installations is only
268available by entering a filename in the "Hostname:" box (see
269above). At the top of the column(s) will be a button labelled with
270the hostname on which the installation is running. Under the
271hostname(s) there will be a box for each package that has been
272selected. When the machine begins installation of a package, the
273box contains the word "WORKING". If an error occurs with the
274installation of that package, the box says "ERROR". Installation of
275later packages will still occur despite errors in previous
276packages. When a package completes without errors the box will
277say "SUCCESS". When the installation finishes, the last box in the
278column, labelled "done" will turn to either "SUCCESS" or "ERRORS"
279depending on the outcome of all the packages.
280 Note that if the "Default installation" radio button in the
281Packages area is selected, a row of boxes will be created for ALL
282available packages. If an available package is not a default
283package for a particular machine, that box will never be filled in for
284that machine. This was done because the set of default packages can
285vary if multiple installations are in progress.
286 To see the full text output of a machine's installation, press
287the hostname button at the top of the column of boxes. A window
288will appear with all of the output. A scrollbar is attached for
289when the output exceeds the height of the window. The window size
290can be changed by using the window manager. At the bottom of the
291output window will be two buttons, named "STOP INSTALL" and
292"DISMISS". The first will kill the install job on that machine,
293whether it is the local host or a remote host. this is for use when
294you see things going very wrong. The second button closes the
295output window but leaves the installation running. When the
296installation is complete the "STOP INSTALL" button is removed. If
297the output window is closed, it can be reopened again by pressing
298the hostname button again in the Progress window.
299 The Progress window also has a "DISMISS" button, and if this button
300is pressed the Progress window will close itself. If there are
301installations still in progress they will be terminated, and all
302output from the installs is deleted from memory. Use this button
303only when you are satisfied with the completion of the
304installation.
305 While the Progress window is still open the "INSTALL" and "INFO
306ONLY" buttons in the main window are disabled. This is a safety
307feature to prevent simultaneous installation processes on the same
308machine. Closing the Progress window will reenable the two buttons.
309
310
311EXIT
312====
313 The EXIT button at the bottom closes all windows and exits the
314program.
315
316
317ERRORS
318======
319 There are a few errors that are checked for and are handled in
320the installation process. Error windows will appear for a certain
321set of these errors.
322 If an installation is to be performed on a
323remoted machine, and that machine does not have an AFS aware inetd
324running the rsh daemon, an error window will appear telling you
325so.
326 The installation program is a Perl script that requires Perl
3275. The path to the perl program is the very first line of the
328install program. If that path is to a Version 4 copy of Perl, an
329error window will appear telling you so. This can be fixed either
330by changing the first line of the installer or by upgrading the
331copy of Perl to at least Version 5.00.