Bootstrap Core FUE Installation Summary


History:
Abstract:

bootstrap_coreFUE has been superceded by the much more automated bootstrap product. The rest of this document is preserved for historical purposes only.

bootstrap_coreFUE is an obsolete, easy-to-install, pre-configured and self-contained ups, upd and perl package. This document lists the steps required to install bootstrap_coreFUE on a new system. For more information on ups installations and upgrades, refer to the detailed, explanatory obsolete ups installation document.


  1. Get a good backup.
    This is always a good idea.

  2. Create the products account and ~products directory.
    This isn't strictly necessary, but is the simplest way to install this package. At Fermilab, it is strongly recommended that ownership of the directory be products:products, a uid and gid of 1342 and 4525, respectively.

    The actual location of the ~products directory is not especially important, although it should be a file system which is mounted rather early after a system reboot. Typical locations would be /fnal/ups and /usr/products.

    [CUSTOM] If you are installing this package in a directory tree which is *not* known as "~products", follow all of these instructions, including the steps marked [CUSTOM]. If you are installing into the ~products directory, you may ignore the [CUSTOM] steps.


  3. Define a few variables that point to important locations.
    The new ups database is located in the ~products/db area. See the  already-filled-in checklist, below, for the list of default settings in this package.

    In the examples which follow, the string OSversion stands for the Operating System version of your system, generally one of the following: AIX+3, AIX+4, IRIX+5, IRIX+6, OSF1+V3, OSF1+V4, Linux+2, or SunOS+5

         # for Bourne/Korn shell users ...
         PRODUCTS=~products/db; export PRODUCTS
         UPS_DIR=~products/prd/ups/v4_3/OSversion; export UPS_DIR
    
           -or-
    
         # for C shell users ...
         setenv PRODUCTS ~products/db
         setenv UPS_DIR ~products/prd/ups/v4_3/OSversion
         

    [CUSTOM] Installing the bootstrap_coreFUE package in a custom directory requires setting the PRODUCTS and UPS_DIR variables with the locations needed by your site. For example, to install the package in the directory /custom/location, the PRODUCTS variable would be set to /custom/location/db, and UPS_DIR would be set to /custom/location/prd/ups/v4_3/OSversion. For the examples which follow, the directory /custom/location is used.

         # for Bourne/Korn shell users ...
         [CUSTOM] PRODUCTS=/custom/location/db; export PRODUCTS
         [CUSTOM] UPS_DIR=/custom/location/prd/ups/v4_3/OSversion
         [CUSTOM] export UPS_DIR
    
           -or-
    
         # for C shell users ...
         [CUSTOM] setenv PRODUCTS /custom/location/db
         [CUSTOM] setenv UPS_DIR /custom/location/prd/ups/v4_3/OSversion
         


  4. Define the shell family you are using.
         # for Bourne/Korn shell users ...
         UPS_SHELL=sh; export UPS_SHELL
    
           -or-
    
         # for C shell users ...
         setenv UPS_SHELL csh
         


  5. Obtain and unwind the tarfile for the bootstrap_coreFUE product.
    Note: Your system must be registered to retrieve files from the Fermilab ftp server. Nodes in the fnal domain get registered automatically. For other nodes, see the registration document at http://www.fnal.gov/cd/forms/upd_registration.html.
         cd ~products
         [CUSTOM] cd /custom/location
         ftp fnkits.fnal.gov
         Connected to fnkits.fnal.gov.
         220 fnkits.fnal.gov FTP server (Version wu-2.4.2-academ[BETA-16](1) Thu Mar 26 17:11:58 CST 1998) ready.
         Name (fnkits:yourname): anonymous
         331 Guest login ok, send your complete e-mail address as password.
         Password: yourname@here.there
         230 Guest login ok, access restrictions apply.
         ftp> cd /products/bootstrap_coreFUE/b1_1/OSversion
         250 CWD command successful.
         ftp> binary
         200 Type set to I.
         ftp> get bootstrap_coreFUE_b1_1_OSversion.tar core_FUE.tar
         ...
         ftp> quit
         221 Goodbye.
    
         save_umask=`umask`           # Save a copy of the umask setting
         umask 0                      # Preserve the permissions in the tar file
         tar xvf core_FUE.tar         # Unwind the bootstrap_coreFUE tar file
         umask $save_umask            # Restore the umask setting
         rm core_FUE.tar              # We're done with the tar file now
         


  6. Make any desired changes to the ups configuration.
    The ${PRODUCTS}/.upsfiles/dbconfig file contains the ups configuration information, including the base location of the product hierarchy (PROD_DIR_PREFIX), where the ups initialization and login scripts are found (SETUPS_DIR), where to put man pages when products are declared "current" (MAN_TARGET_DIR), et cetera.

    The ${PRODUCTS}/../etc/upsdb_list file contains the information about the location of the ups database file(s). See the already-filled-in checklist, below, for the locations used in this distribution.

    [CUSTOM] Note: For a [CUSTOM] installation, you *must* edit the dbconfig and upsdb_list files to change the ~products references to your /custom/location.

         ${EDITOR} ${PRODUCTS}/.upsfiles/dbconfig
         ${EDITOR} ${PRODUCTS}/../etc/upsdb_list
         

    If you choose to change the layout of the product directories from the scheme used in this package, you must create the man, catman, Info, and statistics directories, and set their permissions properly. The statistics directory must be world-writable, and the others must be writable by all accounts which will be maintaining products. Usually this means they should be group-writable.

         mkdir ${MAN_TARGET_DIR}
         mkdir ${CATMAN_TARGET_DIR}
         mkdir ${INFO_TARGET_DIR}
         chmod g+w ${MAN_TARGET_DIR}             # If needed
         chmod g+w ${CATMAN_TARGET_DIR}          # If needed
         chmod g+w ${INFO_TARGET_DIR}            # If needed
    
         mkdir ${STATISTICS}
         chmod 777 ${STATISTICS}
         


  7. Make any desired changes to the upd configuration.
    The ${PRODUCTS}/.updfiles/updconfig file contains the upd configuration information, which controls how products are handled by upd. This includes the conventions for the product directory structure, the location in which product files are to be unwound, and any special steps to be taken before and after product declarations. As shown in the already-filled-in checklist, below, the product root naming convention in this distribution consists of the product directory prefix, followed by the product name, its version, and, lastly, by the Operating System version together with any qualifiers. You can rearrange the fields to suit your needs. For example, you could specify a string like: ${UPS_PROD_FLAVOR}/${UPS_PROD_NAME}/${UPS_PROD_VERSION}${UPS_PROD_QUALIFIERS} to make the Operating System field first. Other schemes are possible, and the variable name ${UPS_BASE_FLAVOR} may be of use in some of these cases.

         ${EDITOR} ${PRODUCTS}/.updfiles/updconfig
         


  8. Set up the ups environment.
    Make sure we're in a known location first.
         cd ~products
         [CUSTOM] cd /custom/location
         

         # for Bourne/Korn shell users ...
         . ./etc/setups.sh
    
           -or-
    
         # for C shell users ...
         source ./etc/setups.csh
         

    [CUSTOM] Correct the SETUPS_DIR variable for a /custom/location.

         # for Bourne/Korn shell users ...
         [CUSTOM] SETUPS_DIR=/custom/location/etc; export SETUPS_DIR
    
           -or-
    
         # for C shell users ...
         [CUSTOM] setenv SETUPS_DIR /custom/location/etc
         


  9. Declare the base products as current.
    Remember that you must have write access to the ups database, and the ~products/etc, CATMAN_TARGET_DIR, and MAN_TARGET_DIR directories for the declare to succeed.
         ${UPS_DIR}/bin/ups declare -c -2 ups v4_3
         ${UPS_DIR}/bin/ups declare -c -2 perl v5_004
         ${UPS_DIR}/bin/ups declare -c -0 upd v4_3
         


  10. Make backwards compatible setups.* links in /usr/local/etc.
    Optional. Strongly recommended for Fermi nodes. This step may require root privileges.
         mkdir /usr/local/etc
         cd /usr/local/etc
         ln -s ${SETUPS_DIR}/setups.sh  ./setups.sh
         ln -s ${SETUPS_DIR}/setups.csh ./setups.csh
         


  11. Make backwards compatible funame and dropit links in /usr/local/bin.
    Optional. Required for systems using fermi files from systools v5_2 or earlier. This step may require root privileges.
         mkdir /usr/local/bin
         cd /usr/local/bin
         ln -s ${UPS_DIR}/bin/funame ./funame
         ln -s ${UPS_DIR}/bin/dropit ./dropit
         

ups v4 Checklist: (Filled in for ups v4 Bootstrap Installation)



  • Old ups database(s): (New Installation)
  • New ups database(s): ~products/db
  • UPD_USERCODE_DIR: ~products/db/.updfiles
  • SETUPS_DIR: ~products/etc
  • PROD_DIR_PREFIX: ~products/prd
  • MAN_TARGET_DIR: ~products/man
  • CATMAN_TARGET_DIR: ~products/catman
  • INFO_TARGET_DIR: ~products/Info
  • Startup/Shutdown? Which database(s)? None
  • product root naming convention(s): ~products/prd/prod/ver/flavqual product root naming example: ~products/prd/juke/v5_2/IRIX+6dbg
  • AUTHORIZED NODES for any products? *
  • STATISTICS for any products? None