To make a trial run of the install script, enter the following commands:
% setenv iraf /path/iraf/ % cd $iraf/unix/hlib % source irafuser.csh % ./install -nand answer the questions (don't forget the trailing `/' in the "setenv iraf"). The "-n" argument tells install to go through the motions without actually doing anything, so that one can see what will be done before committing to it.
Installing IRAF requires a few changes to be made to system directories outside the IRAF directory tree. Two fifo device entries are made in /dev. A symbolic link "iraf.h" is created in /usr/include. A number of links (cl, mkiraf, etc.) are made in /usr/local/bin or some similar directory which most users can be expected to have in their search path. The tape allocation task alloc.e is made suid root (there are no known security loopholes, although we cannot make any guarantees). A symbolic link imtoolrc is created in /usr/local/lib (but only if this directory already exists; since this file is needed for image display it is a good idea to create /usr/local/lib before running the install script if it doesn't already exist). Lastly the iraf path is edited in to several iraf system files so it is vital this path be correct for your system.
Following one or more trial "no execute" ("-n") runs to see what the install script will do, the install script should be run without the "-n" to complete the installation. This must be done by the superuser as root permission is required to carry out the necessary additions to UNIX. It is essential for the superuser account to also have the proper iraf environment defined before the install script is run, both the $iraf root path and the variables defined by sourcing the irafuser.csh file.
It is necessary to run the install script separately on each node from which IRAF will be used. If a single version of IRAF is installed on a server and NFS mounted on one or more clients, the install script must be run first on the server and then on each client (when installing on a client there will be warnings about insufficient permission to make changes to files on the NFS mounted partitions, which can be ignored). To install IRAF on a diskless client it may be necessary to run the install script on the server to do the install for the client, since the client's /usr/include and /dev directories may only be writable by root on the server. On some systems /usr is mounted read-only, and must be unmounted and remounted read-write before doing the installation to allow an entry to be made in /usr/include. Once the installation is complete the default mount access mode may be restored.
The exchange with the install script will be along the lines of the following (this example is for a sparc server):
% ./install -n new iraf root directory (/iraf/iraf): default root image storage directory (/d0/iraf): local unix commands directory (/usr/local/bin): install iraf for machine type ssol old iraf root = /usr/iraf, old imdir = /d0/iraf installing iraf at /iraf/iraf, imdir=/d0/iraf, lbindir=/usr/local/bin proceed with installation? (yes):
The "iraf root directory" is the value of $iraf (minus the trailing `/'in this case). The "root image storage directory" is the default place to put image data for users; the program may prompt with /tmp if it cannot find any likely looking data storage areas on your system, but /tmp is not a good place to put image data as the contents are deleted whenever the system reboots. The value entered should be the path to a public iraf subdirectory of a designated data or scratch disk on your system. Lastly, the "local unix command directory" is where the UNIX callable IRAF startup commands will be defined. This should be a UNIX directory which is in the default path of anyone who might want to use IRAF; /usr/local/bin is the most common value.
After answering with "yes" or hitting return in response to the "proceed with installation" query, the script will issue a series of messages as it checks the system and performs the installation, possibly answering additional questions in the process. In "no-execute" mode (i.e. with the "-n" flag) the output will contain a diff of the files that will be edited.