Chapter 2. Preparing for Installation

This chapter contains procedures and information for preparing yourself and your site for software installation. You should review all the information in this chapter, but you do not need to perform all the procedures described. The procedures that you perform will depend on the type of installation and specific conditions at your site.

The chapter contains these sections:

Selecting a Distribution Source

When selecting a distribution source, consider the speed and reliability of your network, the frequency with which installations are performed, and the amount of software that will be installed. If disk space is available and the network is fast and reliable, consider creating a centralized distribution directory on an installation server. A centralized directory is particularly useful if users perform their own installations, or if the server's CD-ROM drive is unavailable.

When you install software on one or two target systems and the targets contain local CD-ROM drives, a locally-mounted distribution CD is often the most efficient distribution source, particularly if your network is slow and you plan to install a lot of software. For any target that is not equipped with a CD-ROM drive, the distribution source must be a remote CD-ROM drive or distribution directory (see Figure 1-2).

Setting Up an Installation Server

You can create an installation server on almost any system in your network that is reliable and has adequate disk resources. The distribution source may be a local CD-ROM drive or a distribution directory.

Any system that you plan to use as an installation server must be accessible from the remote targets. This means that communications between the server and targets must support forwarding of boot files (for miniroot installations) and Trivial File Transfer Protocol (TFTP) file transfers. In addition, the installation server must contain a user account that is available to target systems.

The procedures in this section assume that you plan to set up a distribution directory on an installation server.


Note: If you plan to use a remote CD-ROM drive as the distribution source, complete all procedures in this section except “Creating Distribution Directories”.


Enabling BOOTP Forwarding on Routers

Inst uses the Internet Bootstrap Protocol (BOOTP) to obtain IP addresses during miniroot installations. For this reason, all routers between an installation server and a remote target must allow bootp forwarding (see the bootp(1M) reference page). On factory-shipped SGI systems, however, bootp forwarding is disabled in the file /etc/inetd.conf.  


Note: The inetd.conf file is stored in /usr/etc on systems running pre-5.2 releases of IRIX.

The procedure below describes how to identify routers and change the /etc/inetd.conf file to enable bootp forwarding.


Caution: SGI can not guarantee that this procedure will work on routers that are not SGI systems.


  1. Determine the names of routers.

    Enter this command from the target system:

    
    ping -R -c 1 installation_server 
    

    Look for an entry that begins with RR: in the ping output. It shows the route of packets from the target to the installation server and back. Each node listed, except the installation server and target, is a router.

  2. Become the superuser on the router listed in the ping output.

    % su 
    Password:
    #
    

  3. Change the bootp line in /etc/inetd.conf on each router, as needed.

    The default bootp line in /etc/inetd.conf looks like this:

    bootp  dgram   udp   wait  root  /usr/etc/bootp  bootp
    

    Add the –f flag to enable bootp forwarding. The modified line should look like this:

    bootp  dgram   udp   wait  root  /usr/etc/bootp  bootp -f
    

  4. Put your changes into effect.

    # killall -v -HUP inetd 
    

  5. Repeat steps 2 through 4 for additional routers.

When the server is no longer needed for software installation, you can return the /etc/inetd.conf file on the router to its original state, then enter the killall command to put the change into effect (see the killall(1M) reference page).

Enabling TFTP Access on an Installation Server

During miniroot installations, Inst uses TFTP to transfer files from remote systems. For this reason, any system acting as the server for miniroot installations must allow tftp access. On factory-shipped SGI systems, tftpd(1M) access is restricted in the /etc/inetd.conf file to /usr/local/boot and /usr/etc/boot. You can place the distribution under one of these directories, for example, /usr/local/boot/dist, or make another directory accessible by editing the tftpd entry in /etc/inetd.conf.

The procedure below explains how to change the /etc/inetd.conf to allow tftp access.


Note: If your site has strict security requirements, step 2 of this procedure offers an option that limits tftp access to the distribution directory.


  1. Become the superuser on the installation server.

    % su 
    Password:
    #
    

  2. Modify the tftp line in /etc/inetd.conf on the server.

    You can modify /etc/inetd.conf to allow tftp access that suits the needs of your site. The default tftp entry in /etc/inetd.conf looks similar to this (your entry may contain additional arguments to the -s option):

    tftp dgram udp wait guest /usr/etc/tftpd tftpd -s /usr/local/boot
    

    Take any one of these actions to modify the tftp entry:

    • Remove the -s /usr/local/boot, and any additional directories that are specified by the -s option, from the entry to allow tftp access to all publicly readable directories. (This is not recommended for sites on the Internet.) The modified line should look like this:

      tftp dgram udp wait guest /usr/etc/tftpd tftpd 
      

    • Specify access to the distribution directory only (suggested for secure sites). The modified line should look like this:

      tftp dgram udp wait guest /usr/etc/tftpd tftpd -s
                                  /usr/local/boot <distdir> 
      

    • Specify access to the CD-ROM drive. The modified line should look like this:

      tftp dgram udp wait guest /usr/etc/tftpd tftpd -s
                                 /usr/local/boot <CDdir>/dist 
      


      Note: If an account other than guest is used for installation , replace the guest entry on the tftp line with the alternate user ID.


  3. Put your changes into effect.

    # killall -v -HUP inetd 
    

When the remote system is no longer needed for software installation, you can return the /etc/inetd.conf file to its original state, then enter the killall command to put your changes into effect.

Configuring an Installation Account

During an installation, Inst defaults to using the guest account on the server to accept a connection from the target systems; guest must not be password protected. If the guest account on the server is either unavailable or password protected (to limit access to the target by rsh, for example), you must provide an alternate means for accessing the server. You can allow access to the server in any of these ways:

  • Remove the password from guest while installations are taking place.

  • Use an account other than guest on the server (the alternate account must not be password protected) and specify the alternate account when you start Inst (see “Specifying the Source on the Command Line” in Chapter 6 for details on invoking Inst with the -f flag):

    inst –f alternate_user@installation_server:distdir 
    

  • Use a password-protected account on the server for installations and create an .rhosts file for the installation account. The installation account must have read permissions on the distribution source.

    The .rhosts file that you create must contain an entry for each target system that will access the server (see the hosts.equiv(4) reference page for information on .rhosts). For example, assume that the installation account on the server is instuser. The file /usr/people/instuser/.rhosts on the installation server contains these lines to permit installations on targets called joesbox and lab1:

    joesbox.engr.xxx.com root
    lab1.engr.xxx.com root
    


    Note: This .rhosts file does not grant root permissions on the installation_server. It only allows the userid root on one of the targets to pull install information from the installation_server.

    Either of the following commands can be used to install software on joesbox or lab1 (see “Step 2: Specifying the Source” in Chapter 4 and “Specifying the Source on the Command Line” in Chapter 6 for details on these commands):

    Inst> from instuser@installation_server:path 
    # inst -f instuser@installation_server:path 
    

Creating Distribution Directories

Follow the procedure below to create a parent directory and subsequent distribution directories on the installation server. The CD-ROM drive from which you copy the distribution software may be either a local or a remote drive. In this procedure, you will create a parent directory for your application or operating system, followed by individual directories for the contents of each CD involved.


Caution: Do not install more than one release of a product under a parent directory.


  1. Become the superuser on the server with the CD-ROM drive.

    % su - 
    Password:
    # 
    


    Note: If the distribution directory is on a different system, become the superuser on that system also.


  2. Get the controller and unit numbers for the CD-ROM drive.

    # 
    hinv 
    

    Look for a line like this in the output of hinv and note numbers listed for CDROM unit and SCSI controller:

    CDROM: unit 4 on SCSI controller 0
    

  3. Eject the CD that is currently in the drive, if any.

    You can omit the argument from this command if there is only one CD-ROM drive on the workstation :

    # eject  /dev/scsi/sccntlrdunitl0 
    


    Note: This command has a lowercase l (not the number 1) and a zero at the end of it.


  4. Create the parent directory for the distribution:

    # mkdir parentdir
    

  5. Create a directory for each CD-ROM included with your installation media:

    # cd parentdir
    # mkdir cd1_directory
    # mkdir cd2_directory
    

    ... and so on for as many CDs as you have.

  6. Stop mediad (the media daemon), if it is running.

    Enter this command on the system with the CD-ROM drive to stop mediad (see the mediad(1M) reference page):

    # /etc/init.d/mediad stop
    

  7. Create a mount-point directory for the CD-ROM drive, if none exists.

    # mkdir /CDROM 
    

  8. Insert the CD containing the distribution and mount it.

    
    # mount -o ro /dev/dsk/dkscntlrdunits7 /CDROM 
    

  9. Copy CD-1's distribution to its directory (created in step 5, above).

    On the system containing the distribution directory, copy the installable software from the CD to the distribution directory as illustrated in the following sample commands. Use the cp command if the CD-ROM is local, and the rcp command if the CD-ROM is remote:

    # cp -r /CDROM/dist/ /path/to/parentdir/cdx_dir 
    # rcp -r guest@server:/CDROM/dist/ /path/to/parentdir/cdx_dir 
    

    You can create a software distribution directory that contains fewer products than are in the CD-ROM distribution by copying the files for just the products that you want. Remember that distribution directories and CD-ROM distributions have an identical structure . For example, to copy just one product from a local CD-ROM drive, use this command:

    % cp /CDROM/product* product_dir 
    

  10. Copy the release notes to the server (optional).

    Enter this command to create a directory for the release notes and copy them to the installation server:

    # cp -r /CDROM/relnotes/* relnotes_dir 
    

  11. Eject the distrib ution CD .

    Enter this command on the system with the CD-ROM drive. You can omit the argument if there is just one CD-ROM drive on the system:

    # eject /dev/scsi/sccntlrdunitl0 
    

  12. Repeat steps 7 through 9 for additional CDs.

  13. Restart the CD-ROM daemon, if you stopped it.

    If you stopped  mediad in step 6, restart it by entering this command on the system with the CD-ROM drive:

    # mediad 
    


    Note: If you have more than one CD-ROM drive, you might get an error from this command, but you can safely ignore it.


Backing Up the Target Systems

Although backing up the target is not a requirement for installation, it is strongly recommended. You can use several utilities to make backups: System Manager, backup, bru, cpio, and tar. See  IRIX Admin: Backup, Security, and Accounting for detailed information on system backups.

Consider backing up these files:

  • User files that are created or copied to the target. Any file on the target that was not put there during the software installation process is considered a user file.

  • Configuration files that contain information unique to the target system or the site. These files are created during installation but are likely to be modified after they are installed. The unique information in these files is not destroyed during an installation. However, the preinstallation copy of these configuration files is helpful if you decide to go back to the earlier software release after installation. You can identify modified configuration files with this command:

    
    # showfiles -c -m -s 
    

    Use this command to back up the configuration files onto tape:

    # showfiles -c -m -s | tar cv - 
    

    Use this command to retrieve specified configuration files from tape and overwrite existing files:

    # tar xv files 
    


    Note: If you follow these instructions, you will overwrite the installed configuration file. Refer to “Managing Configuration Files” in Chapter 4 for more information on how configuration files are handled during installations.

    Use this command to retrieve all configuration files from tape and overwrite existing files:

    # tar xv 
    

Opening Multiple Distributions

Inst automatically manages the installation order of the products on CDs or in distribution directories. If you expect to install software from more than one CD or distribution directory, you can open each of them with the open command. If you attempt to install software that has a pre-requisite of software on an unopened distribution, Inst will prompt you to either open that distribution or not install the software.

Note that if you use the from command instead of open, any open distributions are closed and any selections lost before the new distribution is opened.

Collecting the Information That You Need

Before starting a miniroot installation, spend a few minutes collecting information that might be required during the installation procedure. Jot down the information that you get as you follow the instructions in this section and have it available when you begin the installation. Remember, it might be impossible to access this information after the installation is under way—the miniroot severely restricts access to files on the target and to network systems that are ordinarily accessible.

Getting CD-ROM Device Numbers

If you are planning a miniroot installation from the local CD-ROM drive on the target, you must be prepared to specify the controller and unit number of the drive during the installation. Use this command to determine the controller and unit number:

# hinv 

Look for a line like the one below in the output of hinv. The numbers that you need appear in parentheses beside the scsi and cdrom fields:

SCSI CDROM: scsi (0) cdrom (4)

In the previous example, the controller number is 0 and the unit number is 4.

Getting the Target's Name and Address

The name and address of the target system might be required for error recovery during miniroot installations when the distribution source is on a remote installation server. Enter the hostname command from the target system to get its name :

% hostname 

Enter the ping command from the target to get its Internet Protocol (IP) address. Use the output of the hostname command as an argument to ping:

% /usr/etc/ping -c 1 targetname 
PING targetname (IPaddress): 56 data bytes
----targetname PING Statistics----
1 packet transmitted, 1 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 1/1/1 ms

Getting the Server's Name and Address

The name of the remote installation server is specified to identify the distribution source in miniroot and live installations. If you are working at the installation server, enter the hostname command to get its name:

% hostname 

If you are on the target system, enter this ping command to get the IP address of the installation server:

% /usr/etc/ping -c 1 installation_server 
PING installation_server (IPaddress): 56 data bytes
----installation_server PING Statistics----
1 packet transmitted, 1 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 2/2/4 ms

Note the numbers in the IPaddress field of the output. If ping output is not similar to this example, the network connection might be faulty. You should resolve the problem before continuing with your installation (see Appendix B, “Troubleshooting Installations” for help).

Getting the Installation Account Name

By default, Inst uses the guest account on the installation server for installations. If you plan to use an account other than guest, be prepared to specify the name of the alternate account (see “Configuring an Installation Account”).