Linux/IRAF Installation Guide

Linux/IRAF Installation Guide

2.2. Install the files

If you are installing from tape skip forward to §2.2.2. If you are installing from a network distribution (i.e., from hard disk or CDROM) continue with the next section.

2.2.1. Installing from a network distribution

Linux/IRAF is available over the network via anonymous ftp from iraf.noao.edu, in the subdirectory iraf/vnnn/LNUX, where ``vnnn'' is the IRAF version number, e.g., subdirectory iraf/v210/LNUX for all versions of V2.10 Linux/IRAF.

If IRAF is being installed from a network distribution all the architecture independent IRAF files for both the core IRAF system and the NOAO packages will be in the distribution file as.lnux.gen. This ``file'' is stored in the network archive as a directory wherein the large distribution file has been split into a number of smaller pieces, e.g.,

% ls as.lnux.gen
CHECKSUMS          as.lnux.gen.gz.06  as.lnux.gen.gz.14  as.lnux.gen.gz.22
FILES.Z            as.lnux.gen.gz.07  as.lnux.gen.gz.15  as.lnux.gen.gz.23
as.lnux.gen.gz.00  as.lnux.gen.gz.08  as.lnux.gen.gz.16  as.lnux.gen.gz.24
as.lnux.gen.gz.01  as.lnux.gen.gz.09  as.lnux.gen.gz.17  as.lnux.gen.gz.25
as.lnux.gen.gz.02  as.lnux.gen.gz.10  as.lnux.gen.gz.18  as.lnux.gen.gz.26
as.lnux.gen.gz.03  as.lnux.gen.gz.11  as.lnux.gen.gz.19
as.lnux.gen.gz.04  as.lnux.gen.gz.12  as.lnux.gen.gz.20
as.lnux.gen.gz.05  as.lnux.gen.gz.13  as.lnux.gen.gz.21
Assume that the directory as.lnux.gen as shown above has been recreated somewhere on the machine on which IRAF is to be installed. We can restore the main IRAF source tree as follows.
% whoami
iraf
% cd $iraf
% cat /path/as.lnux.gen/as.* | zcat | tar -xpf -
After the above finishes the root IRAF directory should appears as follows (this is for V2.10).
HS.LNUX.GEN  bin.generic  dev          local        noao         unix
IS.PORT.GEN  bin.linux    doc          math         pkg
bin          bin.linuz    lib          mkpkg        sys
The files bin.linux and bin.linuz are links to the actual BIN directories (for binary executables), which may not exist yet. Configuring the BIN directories is discussed in section §2.2.3.

2.2.2. Installing from tape

If you have not already done so, log into the IRAF account so that the files when restored will belong to IRAF. Mount the distribution tape, which may be any supported tape drive, e.g. a DAT tape or Exabyte.

IRAF distribution tapes consist of multiple files separated by tape marks, with a TOC (table of contents) file as the first file on the tape. To find out what is on the tape, rewind it and read out the TOC file as follows (the actual device name may be different than that shown in the examples - on Linux systems /dev/tape is an optional link pointing to the actual tape device, e.g. /dev/nst0).

% mt -f /dev/tape rewind;  cat /dev/tape
This should cause a TOC file to be listed similar to the following, except for the file names which will vary depending upon what type of distribution you have. The example below is for a distribution of Linux/IRAF.
0   Table of Contents
1   AS.LNUX.GEN   50.3Mb   IRAF, NOAO packages and Linux sources
2   IB.LNUX.SPC   20.3Mb   linux binaries for IRAF core system
3   NB.LNUX.SPC   21.9Mb   linux binaries for NOAO packages
Here, the first column is the file number on the tape, the TOC file being file zero (the first distribution file is number one), the second column is the name of the tape file, the third column is the installed disk usage for the package in megabytes, and the last column is a description of the file contents.

There are three types of tape files in the example shown: the AS file, which is all the IRAF sources (the core IRAF system, NOAO packages, and the Linux host system interface), the IB files, or IRAF core system binaries, and the NB files, or NOAO package binaries. The NOAO package sources are included in the AS file since most people requesting IRAF are expected to want the astronomical reduction software, although IRAF can be configured without the NOAO packages if desired. All of the file objects are UNIX tar format files, with the exception of the TOC file which is a simple text file. The distribution files may be compressed if this was necessary to fit all the files on a tape.

The following commands would suffice to restore the main IRAF system to disk, given the distribution tape described by the TOC file in our example above. Once again, the tape device file and block size shown in the example will very likely have to be changed to whatever is needed for the tape device being used.

% whoami
iraf
% cd $iraf
% mt -f /dev/tape rewind;  mt -f /dev/tape fsf 1
% tar -xpf /dev/tape
After the above tar file read operation, the tape is left positioned to just before the EOF of the file just read, since tar stops reading the file data before reading the physical EOF. Hence, an mt fsf will be required to position to the next file on the tape. Any combination of fsf (forward skip file) or bsf (backward skip file) operations may be used to position to a file on a 9 track tape, DAT, or Exabyte. On a cartridge tape, it is best to plan things so that only forward file skips are used, using a rewind and forward skip if it is necessary to position to an earlier file on the tape.

Once the main system, containing only sources, is installed it is possible to create one or more empty BIN directories for the executables, then compile and link the full system. More commonly one will merely read the precompiled executables off the distribution tape, as we discuss in the next section.

2.2.3. Configuring the BIN directories

In IRAF all the files specific to any particular architecture are contained in a single directory called the BIN, or ``binary'', directory. To run IRAF you must install not only the AS (all-sources) directory tree, but the BIN directory for each architecture. The IRAF core system and the NOAO packages have separate BIN directories.

The BIN directories for the IRAF core system or a layered package (such as NOAO) are located, logically or physically, in the root directory of the IRAF core system or layered package. Every layered package has its own set of BIN directories. In the distributed V2.10 system you will find the following BIN files (directories or symbolic links) at the IRAF root.

link         bin -> bin.generic
directory    bin.generic
link         bin.linux  -> ../irafbin/bin.linux
link         bin.linuz  -> ../irafbin/bin.linuz
If the IRAF directory structure is set up as described in
§2.1.2, with $iraf located at iraf/iraf and the BIN directories stored in iraf/irafbin, then these links will not have to be modified. If a different directory structure is used you will have to modify the links accordingly.

The bin link and the bin.generic directory are required for the correct operation of the IRAF system software (mkpkg) and are maintained automatically by the IRAF software management utilities. Under no circumstances should ``bin'' or ``bin.generic'' be modified or deleted. It is a common error to manually delete the bin link and manually set it to bin.linux or some other architecture, e.g. to link external programs (people get confused by the library links in lib which point to ../bin). The bin.linux link can be modified as desired but bin and bin.generic should be left alone.

Assume that the bin.linux directory has been created somewhere, e.g. in the iraf/irafbin directory, and that the ib.lnux.x86 distribution files for the core IRAF system linux binaries have been downloaded from the network archive. We can restore the linux binaries with the following commands.

% cd $iraf/bin.linux
% cat /path/ib.lnux.x86/ib.* | zcat | tar -xpf -
Similarly, to restore the NOAO package linux binaries:
% cd $iraf/noao/bin.linux
% cat /path/nb.lnux.x86/nb.* | zcat | tar -xpf -
The procedure for restoring a BIN directory from a tape distribution is similar to that described in §2.2.2 for the core system. For example,

% cd $iraf/bin.linux
% mt -f /dev/tape rewind;  mt -f /dev/tape fsf 2
% tar -xpf /dev/tape
would restore the core system bin.linux directory from a tape containing an uncompressed ib.lnux.x86 as file 2 on the tape.