UPS/UPD Doc Home page | Computing Division| Fermilab at Work | Fermilab Home
TOC PREV NEXT INDEX
View/print PDF file
Fermilab CD logo Complete Guide and Reference Manual for UPS, UPD and UPP v4

Chapter Contents

Chapter 8: Installing Products using FTP
  8.1 "Quick and Dirty" Download of Product from KITS
    8.1.1 Download Areas
    8.1.2 Register your Node
    8.1.3 Download a Product
    8.1.4 Declare the Product to your Database
  8.2 UPS Product Components to Download
  8.3 Installing Products from fnkits.fnal.gov
    8.3.1 Download the Files from fnkits
    8.3.2 Download Areas
    8.3.3 Run ftp
    8.3.4 Unwind the Files into your Products Area
    8.3.5 Declare the Product to your Database
  8.4 Installing Products from Other Product Distribution Nodes
    8.4.1 Locate the Product Files on the Server
    8.4.2 Download the Files from the Server
    8.4.3 Unwind the Files into your Products Area
    8.4.4 Declare the Product to your Database


Chapter 8: Installing Products using FTP


This chapter describes how to download a product using FTP, install it, and declare it to a local UPS database. Anonymous FTP is available on fnkits, and may be available on other UPS product distribution nodes. FTP does not take advantage of the local node's UPD configuration. It can be used only to retrieve products; it is left to the installer to unwind and declare them. Furthermore, if the table file and/or the ups directory is (are) not included the tar file, each must be retrieved separately.

FTP is not recommended for installations into the usual local product area; UPD is designed and configured specifically for this purpose and should be used instead. FTP is more suited to product installations into non-standard locations on your node, e.g., into your own area for use just by you.

On fnkits, FTP is most useful for off-site users who want to download FermiTools products, which are located under the /pub directory in the KITS database. You do not need to be a registered user to obtain the FermiTools products.

8.1 "Quick and Dirty" Download of Product from KITS

8.1.1 Download Areas

Products are arranged (via symlinks) in several different file hierarchies to make browsing easier:

8.1.2 Register your Node

First, verify that your node is registered to obtain products from fnkits. If not, complete the product distribution registration form at http://www.fnal.gov/cd/forms/upd_registration.html. If you only want to access FermiTools products (which includes all products located under the /pub directory), registration is not required.

8.1.3 Download a Product

If you go to one of the web pages listed above, and select a product/version/flavor, you will find yourself at the download page for that product. The files listed here generally include the archive file containing the product (e.g., <product>_<version>_<flavor>.tar or zip), the archive file of the product's ups directory (e.g., <...>.ups.tar), and a table file (e.g., <product...>.table), as shown here for UPS:

ups_v4_6_SunOS+5.table 
ups_v4_6_SunOS+5.table.old 
ups_v4_6_SunOS+5.tar 
ups_v4_6_SunOS+5.ups.tar 

For the installation of a product for use in a UPS environment, you need all three (the old table file is not needed). Click on a file to download it. See section 8.3.4 Unwind the Files into your Products Area for information on unwinding them in the proper order.

If you're downloading the UPS product itself, see the instructions at ftp://ftp.fnal.gov/products/bootstrap/current/manual_install.html for installation instructions, or see Chapter 14: Installing UPS and UPD from Bootstrap.

8.1.4 Declare the Product to your Database

If the product is installed in your machine's standard UPS area in the standard way, you should be able to use the ups declare command with only the following options and arguments to declare the product:

% ups declare <product> <version> -r /path/to/prod/root/dir/ -c -f <flavor> -m <table_name>.table 

If you need more information, see section 4.4 Declaring an Instance Manually and/or 23.5 ups declare.

8.2 UPS Product Components to Download

One of the features of UPS/UPD v4 is that it allows product developers to update certain portions of a product without cutting an entire new release of the product.1 Specifically, a developer can update any file within a product's ups directory and reissue the ups directory tar file, and/or update and reissue a product's table file independently of the product tar file. The disadvantage this feature presents is that you must download these elements separately when using FTP to install a product.

The files that are commonly found within a product's ups directory include:

8.3 Installing Products from fnkits.fnal.gov

First, verify that your node is registered to obtain products from fnkits. If not, complete the product distribution registration form at http://www.fnal.gov/cd/forms/upd_registration.html.

If you only want to access FermiTools products (which includes all products located under the /pub directory), registration is not required.

The naming conventions and file hierarchy on fnkits have been constructed to make finding and downloading product files relatively easy. We show the procedure by way of an example, using the (fictional) product sister, version v1_0, for flavor Linux+2. For the local database we use /fnal/ups/db and we take the local product area to be /fnal/ups/products.

8.3.1 Download the Files from fnkits

8.3.2 Download Areas

Products are arranged (via symlinks) in several different file hierarchies to make browsing easier:

You can click to download, or use the traditional ftp command as described below.

8.3.3 Run ftp

In order to download the product files from the server, first change to an appropriate directory and run FTP to the machine, e.g.,:

% cd /usr/tmp 
% ftp fnkits.fnal.gov 

Provide the username anonymous, and use your <username>@<nodename> as the password.

Once you're logged on, you need to find the product you want. If you know the product's name, version, and flavor, you can just cd to the appropriate directory. If not, you may need to browse a bit. The product pathnames are listed in section 5.3.2 Product Pathnames for FTP Access. Products are arranged (via symlinks) in several different file hierarchies to make browsing easier:

We want to install the product sister version 1_0 for the flavor Linux+2, so we cd to the appropriate directory under /products and list the directory contents (this shows typical contents for products on fnkits):

ftp> cd /products/sister/v1_0/Linux+2 
ftp> ls -l 
drwxr-xr-x   4 100      kits         512 Sep 10 19:53 sister_v0_1_Linux+2 
-rw-rw-r-x   1 100      kits        1538 Sep 10 19:53 sister_v0_1_Linux+2.table 
-rw-r--r-x   1 100      kits     9687040 Aug 19 21:05 sister_v0_1_Linux+2.tar 
-rw-rw-r-x   1 100      kits       60928 Sep 10 19:53 sister_v0_1_Linux+2.ups.tar 

The directory sister_v0_1_Linux+2 contains the unwound ups directory files (to allow you to browse, read and/or download individually any of the files it contains). sister_v0_1_Linux+2.table is the table file, sister_v0_1_Linux+2.tar is the complete product tar file, and sister_v0_1_Linux+2.ups.tar is a separate tar file of the ups directory.

Set the mode to "binary", and get the two tar files:

ftp> binary 
ftp> get sister_v0_1_Linux+2.tar 
ftp> get sister_v0_1_Linux+2.ups.tar 

Then set the mode to "ascii", and get the table file:

ftp> ascii 
ftp> get sister_v0_1_Linux+2.table 

and exit:

ftp> bye 

8.3.4 Unwind the Files into your Products Area

You need to unwind/copy the product files on your local node in the right order to ensure that:

This involves first unwinding the product tar file, then the ups directory, and finally copying the table file to its correct location. This procedure is illustrated below.

Note: From a technical standpoint, you are not required to follow any file naming/location conventions laid out in your system's updconfig file, if any, since you are not using UPD for the installation.

First make the product root directory:

% cd /fnal/ups/products 
% mkdir -p sister/v0_1/Linux+2 

Change to the product root directory and unwind the product tar file:

% cd sister/v0_1/Linux+2 
% tar xvf /usr/tmp/sister_v0_1_Linux+2.tar 

Now change to the product's ups directory (or make one if it doesn't exist) and unwind the product's ups.tar tar file:

% cd ups 
% tar xvf /usr/tmp/sister_v0_1_Linux+2.ups.tar 

Finally, change to the directory in which you want to put the table file and copy it in. Here we use the product directory under the database (the other commonly used location is under the product's ups directory).

% cd /fnal/ups/db/sister 
% cp /usr/tmp/sister_v0_1_Linux+2.table ./sister.table 

8.3.5 Declare the Product to your Database

You now need to declare the product instance to your UPS database3. Declaring a product instance is described in section 4.4 Declaring an Instance Manually.

To declare the downloaded product sister to our /fnal/ups/db database, we run the ups declare command as follows:

% ups declare sister v0_1 -f Linux+2 -z /fnal/ups/db \  
  -r /fnal/ups/products/sister/v0_1/Linux+2  \  
  -m sister.table 

The -U and -M options are not included since we put the table file and ups directory in default locations where UPS will find them.

8.4 Installing Products from Other Product Distribution Nodes

The procedure for downloading from any standard UPS product distribution node is basically the same as illustrated for fnkits in section 8.3 Installing Products from fnkits.fnal.gov. The UPD configuration of the server node will most likely be different however, which means that the product and its associated files may be organized differently than on fnkits. You may need to verify that your node is registered to obtain products from the server. Contact the server maintainer or other designated person for information regarding node/user registration.

8.4.1 Locate the Product Files on the Server

The most reliable way to determine the location of the product files is to use the upd list command, e.g.,:

% upd list -h <hostname> -K+:@prod_dir:@ups_dir:@table_file  \ 
  sister v0_1 -f Linux+2 

(We show the output on separate lines for readability:)

"/P/tar/sisterv0_1Linux+2.tar"  
"/P/ups/sisterv0_1Linux+2.ups.tar"   
"/P/table/sisterv0_1Linux+2.table" 

In this example, files are organized on the server by type rather than by product:

8.4.2 Download the Files from the Server

Let's take special.upd.host as our server node. In order to download the product files from the server, first change to an appropriate directory and run FTP to the machine, e.g.,:

% cd /usr/tmp 
% ftp special.upd.host 

Provide the username anonymous, and use your <username>@<nodename> as the password.

Once you're logged on, set the mode to "binary", and get the two tar files:

ftp> binary 
ftp> cd /P/tar 
ftp> get sister_v0_1_Linux+2.tar 
ftp> cd /P/ups 
ftp> get sister_v0_1_Linux+2.ups.tar 

Then set the mode to "ascii", and get the table file:

ftp> ascii 
ftp> cd /P/table 
ftp> get sister_v0_1_Linux+2.table 

and exit:

ftp> bye 

8.4.3 Unwind the Files into your Products Area

Unwind the tar files and copy the table file as shown in section 8.3.4 Unwind the Files into your Products Area.

8.4.4 Declare the Product to your Database

Declare them as shown in section 8.3.5 Declare the Product to your Database.

1
In versions of UPS/UPD prior to v4, KITS contained one tar file per product. If anything in the product changed, it required adding a brand new tar file of the whole product to KITS.

2
Since the table file may get updated separately from the other ups directory files, the copy maintained in the ups directory is not always the most recent one.

3
... unless you're not running UPS on your local node.


UPS/UPD Doc Home page | Computing Division| Fermilab at Work | Fermilab Home
TOC PREV NEXT INDEX
View/print PDF file

This page generated on: 10/15/02 14:05:12