Project

General

Profile

TOC PREV NEXT
Fermilab CD logo Complete Guide and Reference Manual for UPS and UPD

Chapter Contents

Chapter 5: Finding Information about Products using UPD
   5.1 Listing Products on a Distribution Node
   5.2 Listing Product Dependencies on a Distribution Node
   5.3 Information about Products in KITS
     5.3.1 Access Restrictions and Product Categories
     5.3.2 Product Pathnames for FTP Access
   5.4 Special Instructions for Proprietary Products

  Chapter 5: Finding Information about Products using UPD

  This chapter discusses finding information about products on a distribution node, in particular:

  • how to find out which UPS products are available on a distribution node
  • how to list a product's dependencies as declared on the distribution node
  • product file permissions and pathnames for downloading products from fnkits via FTP
  • special instructions for downloading proprietary products from fnkits

  5.1 Listing Products on a Distribution Node

  The upd list command is available to list information about product instances on the server. Two output styles are provided: a formatted one (the default) that is easy for users to read, and a condensed one for parsing by a subsequent command or a script.
Use the -K option (upper case) to request output in the condensed format.

% ups list -K+ ups
"ups" "v5_0_4" "Linux64bit+2" "" "current" 

  Information requested can be specified by including various options as described in the reference section 23.11 ups list . As is standard in UPS/UPD , if no chain, version or flavor is specified, and -a (for all instances) is not specified, it returns only the instance declared as current for the best-matched flavor of the requesting machine. All the UPD commands use the fnkits host as the default, which accesses the KITS database. Use the -h <host> option to specify a different host.

  The upd list command has the following syntax:

% upd list [<options>] [<product>] [<version>]

  Most of the sample commands listed below use the -K+ option which condenses the standard output onto a single line. The -K+ option is described in section 3.2.2 Condensed Output Style .

  List Current Instance of a Product

  Often, people want to know if there is a current version of a product that will run on their machine. Because of the defaults in place, you can issue the simple command:

% upd list [-K+] [<product>]

  For example, take the product tex . To request the condensed output, enter:

% upd list tex -K+
"tex" "v_tetex_1_0_5" "Linux+2.4" "" "current" 
"tex" "v_tetex_1_0_5" "Linux+2.2" "" "current" 

  List All Instances for One Flavor of a Product

  To see what instances of tex were available from fnkits for the flavor Linux+2.4.

upd list -af Linux+2.4 tex -K+

"tex" "v_tetex_1_0_5" "Linux+2.4" "" "current" 

  List All Current Products for Flavor of Machine

  For this request, you may just want the product name and version. Use the -K option accordingly (output edited for brevity):

% upd list -Kproduct:version
"acroread" "v4_0_5" 
"ActiveTcl" "v8_4_9" 
"AjaxManager" "v1_17" 
"alerts" "v0_1" 
"alpha_flow_api" "v3_0" 
"ant" "apache-ant-1.7.1" 
"astroda" "v15_11_1" 
...
"xmldb_servr" "v0_4" 
"xpa" "v2_1_6" 
"xview" "v3_2p1_4_19c" 
"zlib" "v1_2_2" 

  Obtain Detailed Listing for a Product Instance

  To find all the information associated with a product instance on the server, use the -l option:

% upd list -l xpa v2_1_6

DATABASE=/ftp/upsdb
        Product=xpa     Version=v2_1_6  Flavor=Linux
                Qualifiers=""   Chain=current
                Declared="2006-06-26 22.21.01 GMT:2006-06-26 22.21.01 GMT" 
                Declarer="jhendry:jhendry" 
                Modified="2006-06-26 22.21.01 GMT:2006-06-26 22.21.01 GMT" 
                Modifier="jhendry:jhendry" 
                Home=/ftp/products/xpa/v2_1_6/Linux/xpa_v2_1_6_Linux
                No Compile Directive
                Authorized, Nodes=*
                UPS_Dir="ups" 
                Table_Dir="/ftp/products/xpa/v2_1_6/Linux" 
                Table_File="xpa_v2_1_6_Linux.table" 
                Archive_File="ftp://fnkits.fnal.gov:7021/ftp/products/xpa/v2_1_6/Linux/xpa_v2_1_6_Linux.tar" 
                Description="" 
                Action=setup
                        proddir()
                        setupenv()
                        pathAppend(PATH,    ${UPS_PROD_DIR}/bin)
                        pathAppend(MANPATH, ${UPS_PROD_DIR}/man)

  5.2 Listing Product Dependencies on a Distribution Node

  The command upd depend is used to return the list of dependencies for the specified product instance(s), as declared in the database in the distribution database. It just performs ups depend (described in section 3.3 Finding a Product's Dependencies ) on the server, and uses the same set of options. As usual, the fnkits node is the default, and -h <host> allows you to specify a different server. This example shows several layers of dependencies:

% upd depend exmh
exmh v2_0_2 -f NULL -z /ftp/upsdb -g current
|__expect v5_25 -f Linux+2.4 -z /ftp/upsdb -g current
|  |__tk v8_0_2 -f Linux+2.4 -z /ftp/upsdb
|     |__tcl v8_0_2 -f Linux+2.4 -z /ftp/upsdb
|__mh v6_8_3c -f Linux+2.4 -z /ftp/upsdb -g current
|  |__mailtools v2_3 -f NULL -z /ftp/upsdb -g current
|__mimetools v2_7a -f Linux+2.4 -z /ftp/upsdb -g current
|__glimpse v3_0a -f Linux+2.4 -z /ftp/upsdb -g current
|__www v3_0 -f NULL -z /ftp/upsdb -g current
|  |__lynx v2_8_1 -f Linux+2.4 -z /ftp/upsdb -g current
|__ispell v3_1b -f Linux+2.4 -z /ftp/upsdb -g current

  Inclusion of the -R option returns only the required dependencies; any optional ones are ignored:

% upd depend -R exmh
exmh v2_0_2 -f NULL -z /ftp/upsdb -g current
|__expect v5_25 -f Linux+2.4 -z /ftp/upsdb -g current
|  |__tk v8_0_2 -f Linux+2.4 -z /ftp/upsdb
|     |__tcl v8_0_2 -f Linux+2.4 -z /ftp/upsdb
|__mh v6_8_3c -f Linux+2.4 -z /ftp/upsdb -g current
|  |__mailtools v2_3 -f NULL -z /ftp/upsdb -g current
|__mimetools v2_7a -f Linux+2.4 -z /ftp/upsdb -g current

  Another useful option to point out is -H <flavor> which allows you to retrieve a dependency list for a flavor other than that of the machine you're using. For example, if you want the dependency list for an IRIX+6 version, but you issue the command from a Linux+2.4 machine, you would run the command:

% upd depend -H IRIX+6 exmh
exmh v2_0_2 -f IRIX+6 -z /ftp/upsdb -g current
|__expect v5_25 -f IRIX+5 -z /ftp/upsdb -j  -g current
|  |__tk v8_0_2 -f IRIX+5 -z /ftp/upsdb -j  -g current
|__tk v8_0_2 -f IRIX+5 -z /ftp/upsdb -j  -g current
|  |__tcl v8_0_2 -f IRIX+5 -z /ftp/upsdb -j  -g current
|__tcl v8_0_2 -f IRIX+5 -z /ftp/upsdb -j  -g current
|__mh v6_8_3c -f IRIX+6 -z /ftp/upsdb -g current
|  |__mailtools v2_3 -f NULL -z /ftp/upsdb -g current
|__mimetools v2_7a -f IRIX+6 -z /ftp/upsdb -g current
|__glimpse v3_0a -f IRIX+6 -z /ftp/upsdb -g current
|__www v3_0 -f NULL -z /ftp/upsdb -g current
|  |__lynx v2_8_1 -f IRIX+6 -z /ftp/upsdb -g current
|__ispell v3_1b -f IRIX+6 -z /ftp/upsdb -g current

  5.3 Information about Products in KITS

  KITS is the commonly used name for the distribution database on the Computing Division's central product distribution server, fnkits.fnal.gov . In this section we describe:

  • registering your node to download products
  • the permissions set on products in this database
  • the directory hierarchy of the products area

  5.3.1 Access Restrictions and Product Categories

  The permissions/access restrictions of products in KITS depend on the category of product. As a product installer, you don't generally know (or need to know) a priori what category the product belongs to, but if you can't download a particular product due to access restrictions, the product category is probably the reason. The categories as defined in the UPD configuration for KITS are:

  default

  The default category is the most commonly used, and is for regular products that are intended for distribution to FTP clients on registered % hosts. The products are set to group %{font-family: monospace}upd , and group-read-only.

  fermitools

  fermitools products are locally-developed and supported software packages (which are not available elsewhere, generally) that are made available to the public via the Fermitools program. These products are world-readable, and thus accessible by any FTP client.

  proprietary

  The proprietary category includes products for which Fermilab has a limited number of licenses. Each proprietary product has its own group, and is made group-readable only to that group. To gain access, appropriate "site group" and "site gpass" commands must be issued (done automatically by UPD , must be done manually by an FTP client).

  5.3.2 Product Pathnames for FTP Access

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

  • The /ftp/products directory contains products organized by product name and version.
  • The /ftp/pub hierarchy contains the FermiTools products which are available to the general public.

  /ftp/products Area

  Within FTP , cd to ftp/products (or to just products ) in order to access this hierarchy. Under the /ftp/products area the product tar files are organized in the structure :

  <product>/<version>/<flavor>/

  Product tar files are named according to this convention (intentionally missing the underscore between flavor and qualifiers):

  <product>_<version>_<flavor><qualifiers>.tar

  Shown on two lines for better readability, the whole path is:

  /ftp/products/<product>/<version>/<flavor>/

  <product>_<version>_<flavor><qualifiers>.tar

  For example, the tar file for the product xemacs version v21_1 for Linux+2 is maintained under /ftp/products at:

/ftp/products/xemacs/v20_4/Linux+2/xemacs_v21_1_Linux+2.tar

  The product vxworks provides an example with a qualifier ( mv5500 ) tacked onto the end:

/ftp/products/vxworks/v6_4f1/Linux+2/vxworks_v6_4f1_Linux+2+mv5500.tar

  5.4 Special Instructions for Proprietary Products

  Some products in KITS are flagged as "proprietary" and require a group id and password for installation. This allows us to distribute products in a more controlled fashion. You don't need to know ahead of time if a given product falls into this category; when you attempt to install a proprietary product, the system will return a message of the form shown below.

Product tor_mv2305 v1_0 VxWorks+5.4.2 is a proprietary product.
Before it can be installed, you need to obtain a group name and password for
it by sending a proprietary products request form to compdiv@fnal.gov

Have you obtained a group name and password? no
Do you need a proprietary product request form? no
Error: Unable to create ftp connection to "fnkits.fnal.gov:6021" port 6021
error: can't transfer /ftp/products/tor_mv2305/v1_0/VxWorks+5.4.2/tor_mv2305_v1_0_VxWorks+5.4.2
     from fnkits.fnal.gov:6021 to
    /tmp/test-it/tor_mv2305/v1_0/VxWorks-5-4-2
upd install failed.

  If you request the form, as shown, you will find it downloaded to your home directory in ASCII format for easy editing. Fill out the form and email it to the address listed in the form. Another option is to fill out and submit the Web-based form at:

  %{font-family: monospace} http://computing.fnal.gov/xms/?pid=1000374 %

  If your request is approved, you will receive email with a valid group id and password for the product. You can then install the product, entering these two items when prompted (it's best to cut and paste the group id and password from the email onto your terminal window to prevent typos.)

  The installation proceeds as normal from this point on. If you enter the group id and password incorrectly, or if they have expired (which happens a few days after they are sent), you will get an error message.

  Try again to be sure the values get entered correctly. If it still doesn't work, reply to the email you received containing the group id and password, and ask to have the product re-opened for you.

TOC PREV NEXT

This page last revised in May 2014

TOC PREV NEXT
Fermilab CD logo Complete Guide and Reference Manual for UPS and UPD

Chapter Contents

Chapter 5: Finding Information about Products using UPD
   5.1 Listing Products on a Distribution Node
   5.2 Listing Product Dependencies on a Distribution Node
   5.3 Information about Products in KITS
     5.3.1 Access Restrictions and Product Categories
     5.3.2 Product Pathnames for FTP Access
   5.4 Special Instructions for Proprietary Products

  Chapter 5: Finding Information about Products using UPD

  This chapter discusses finding information about products on a distribution node, in particular:

  • how to find out which UPS products are available on a distribution node
  • how to list a product's dependencies as declared on the distribution node
  • product file permissions and pathnames for downloading products from fnkits via FTP
  • special instructions for downloading proprietary products from fnkits

  5.1 Listing Products on a Distribution Node

  The upd list command is available to list information about product instances on the server. Two output styles are provided: a formatted one (the default) that is easy for users to read, and a condensed one for parsing by a subsequent command or a script.
Use the -K option (upper case) to request output in the condensed format.

% ups list -K+ ups
"ups" "v5_0_4" "Linux64bit+2" "" "current" 

  Information requested can be specified by including various options as described in the reference section 23.11 ups list . As is standard in UPS/UPD , if no chain, version or flavor is specified, and -a (for all instances) is not specified, it returns only the instance declared as current for the best-matched flavor of the requesting machine. All the UPD commands use the fnkits host as the default, which accesses the KITS database. Use the -h <host> option to specify a different host.

  The upd list command has the following syntax:

% upd list [<options>] [<product>] [<version>]

  Most of the sample commands listed below use the -K+ option which condenses the standard output onto a single line. The -K+ option is described in section 3.2.2 Condensed Output Style .

  List Current Instance of a Product

  Often, people want to know if there is a current version of a product that will run on their machine. Because of the defaults in place, you can issue the simple command:

% upd list [-K+] [<product>]

  For example, take the product tex . To request the condensed output, enter:

% upd list tex -K+
"tex" "v_tetex_1_0_5" "Linux+2.4" "" "current" 
"tex" "v_tetex_1_0_5" "Linux+2.2" "" "current" 

  List All Instances for One Flavor of a Product

  To see what instances of tex were available from fnkits for the flavor Linux+2.4.

upd list -af Linux+2.4 tex -K+

"tex" "v_tetex_1_0_5" "Linux+2.4" "" "current" 

  List All Current Products for Flavor of Machine

  For this request, you may just want the product name and version. Use the -K option accordingly (output edited for brevity):

% upd list -Kproduct:version
"acroread" "v4_0_5" 
"ActiveTcl" "v8_4_9" 
"AjaxManager" "v1_17" 
"alerts" "v0_1" 
"alpha_flow_api" "v3_0" 
"ant" "apache-ant-1.7.1" 
"astroda" "v15_11_1" 
...
"xmldb_servr" "v0_4" 
"xpa" "v2_1_6" 
"xview" "v3_2p1_4_19c" 
"zlib" "v1_2_2" 

  Obtain Detailed Listing for a Product Instance

  To find all the information associated with a product instance on the server, use the -l option:

% upd list -l xpa v2_1_6

DATABASE=/ftp/upsdb
        Product=xpa     Version=v2_1_6  Flavor=Linux
                Qualifiers=""   Chain=current
                Declared="2006-06-26 22.21.01 GMT:2006-06-26 22.21.01 GMT" 
                Declarer="jhendry:jhendry" 
                Modified="2006-06-26 22.21.01 GMT:2006-06-26 22.21.01 GMT" 
                Modifier="jhendry:jhendry" 
                Home=/ftp/products/xpa/v2_1_6/Linux/xpa_v2_1_6_Linux
                No Compile Directive
                Authorized, Nodes=*
                UPS_Dir="ups" 
                Table_Dir="/ftp/products/xpa/v2_1_6/Linux" 
                Table_File="xpa_v2_1_6_Linux.table" 
                Archive_File="ftp://fnkits.fnal.gov:7021/ftp/products/xpa/v2_1_6/Linux/xpa_v2_1_6_Linux.tar" 
                Description="" 
                Action=setup
                        proddir()
                        setupenv()
                        pathAppend(PATH,    ${UPS_PROD_DIR}/bin)
                        pathAppend(MANPATH, ${UPS_PROD_DIR}/man)

  5.2 Listing Product Dependencies on a Distribution Node

  The command upd depend is used to return the list of dependencies for the specified product instance(s), as declared in the database in the distribution database. It just performs ups depend (described in section 3.3 Finding a Product's Dependencies ) on the server, and uses the same set of options. As usual, the fnkits node is the default, and -h <host> allows you to specify a different server. This example shows several layers of dependencies:

% upd depend exmh
exmh v2_0_2 -f NULL -z /ftp/upsdb -g current
|__expect v5_25 -f Linux+2.4 -z /ftp/upsdb -g current
|  |__tk v8_0_2 -f Linux+2.4 -z /ftp/upsdb
|     |__tcl v8_0_2 -f Linux+2.4 -z /ftp/upsdb
|__mh v6_8_3c -f Linux+2.4 -z /ftp/upsdb -g current
|  |__mailtools v2_3 -f NULL -z /ftp/upsdb -g current
|__mimetools v2_7a -f Linux+2.4 -z /ftp/upsdb -g current
|__glimpse v3_0a -f Linux+2.4 -z /ftp/upsdb -g current
|__www v3_0 -f NULL -z /ftp/upsdb -g current
|  |__lynx v2_8_1 -f Linux+2.4 -z /ftp/upsdb -g current
|__ispell v3_1b -f Linux+2.4 -z /ftp/upsdb -g current

  Inclusion of the -R option returns only the required dependencies; any optional ones are ignored:

% upd depend -R exmh
exmh v2_0_2 -f NULL -z /ftp/upsdb -g current
|__expect v5_25 -f Linux+2.4 -z /ftp/upsdb -g current
|  |__tk v8_0_2 -f Linux+2.4 -z /ftp/upsdb
|     |__tcl v8_0_2 -f Linux+2.4 -z /ftp/upsdb
|__mh v6_8_3c -f Linux+2.4 -z /ftp/upsdb -g current
|  |__mailtools v2_3 -f NULL -z /ftp/upsdb -g current
|__mimetools v2_7a -f Linux+2.4 -z /ftp/upsdb -g current

  Another useful option to point out is -H <flavor> which allows you to retrieve a dependency list for a flavor other than that of the machine you're using. For example, if you want the dependency list for an IRIX+6 version, but you issue the command from a Linux+2.4 machine, you would run the command:

% upd depend -H IRIX+6 exmh
exmh v2_0_2 -f IRIX+6 -z /ftp/upsdb -g current
|__expect v5_25 -f IRIX+5 -z /ftp/upsdb -j  -g current
|  |__tk v8_0_2 -f IRIX+5 -z /ftp/upsdb -j  -g current
|__tk v8_0_2 -f IRIX+5 -z /ftp/upsdb -j  -g current
|  |__tcl v8_0_2 -f IRIX+5 -z /ftp/upsdb -j  -g current
|__tcl v8_0_2 -f IRIX+5 -z /ftp/upsdb -j  -g current
|__mh v6_8_3c -f IRIX+6 -z /ftp/upsdb -g current
|  |__mailtools v2_3 -f NULL -z /ftp/upsdb -g current
|__mimetools v2_7a -f IRIX+6 -z /ftp/upsdb -g current
|__glimpse v3_0a -f IRIX+6 -z /ftp/upsdb -g current
|__www v3_0 -f NULL -z /ftp/upsdb -g current
|  |__lynx v2_8_1 -f IRIX+6 -z /ftp/upsdb -g current
|__ispell v3_1b -f IRIX+6 -z /ftp/upsdb -g current

  5.3 Information about Products in KITS

  KITS is the commonly used name for the distribution database on the Computing Division's central product distribution server, fnkits.fnal.gov . In this section we describe:

  • registering your node to download products
  • the permissions set on products in this database
  • the directory hierarchy of the products area

  5.3.1 Access Restrictions and Product Categories

  The permissions/access restrictions of products in KITS depend on the category of product. As a product installer, you don't generally know (or need to know) a priori what category the product belongs to, but if you can't download a particular product due to access restrictions, the product category is probably the reason. The categories as defined in the UPD configuration for KITS are:

  default

  The default category is the most commonly used, and is for regular products that are intended for distribution to FTP clients on registered % hosts. The products are set to group %{font-family: monospace}upd , and group-read-only.

  fermitools

  fermitools products are locally-developed and supported software packages (which are not available elsewhere, generally) that are made available to the public via the Fermitools program. These products are world-readable, and thus accessible by any FTP client.

  proprietary

  The proprietary category includes products for which Fermilab has a limited number of licenses. Each proprietary product has its own group, and is made group-readable only to that group. To gain access, appropriate "site group" and "site gpass" commands must be issued (done automatically by UPD , must be done manually by an FTP client).

  5.3.2 Product Pathnames for FTP Access

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

  • The /ftp/products directory contains products organized by product name and version.
  • The /ftp/pub hierarchy contains the FermiTools products which are available to the general public.

  /ftp/products Area

  Within FTP , cd to ftp/products (or to just products ) in order to access this hierarchy. Under the /ftp/products area the product tar files are organized in the structure :

  <product>/<version>/<flavor>/

  Product tar files are named according to this convention (intentionally missing the underscore between flavor and qualifiers):

  <product>_<version>_<flavor><qualifiers>.tar

  Shown on two lines for better readability, the whole path is:

  /ftp/products/<product>/<version>/<flavor>/

  <product>_<version>_<flavor><qualifiers>.tar

  For example, the tar file for the product xemacs version v21_1 for Linux+2 is maintained under /ftp/products at:

/ftp/products/xemacs/v20_4/Linux+2/xemacs_v21_1_Linux+2.tar

  The product vxworks provides an example with a qualifier ( mv5500 ) tacked onto the end:

/ftp/products/vxworks/v6_4f1/Linux+2/vxworks_v6_4f1_Linux+2+mv5500.tar

  5.4 Special Instructions for Proprietary Products

  Some products in KITS are flagged as "proprietary" and require a group id and password for installation. This allows us to distribute products in a more controlled fashion. You don't need to know ahead of time if a given product falls into this category; when you attempt to install a proprietary product, the system will return a message of the form shown below.

Product tor_mv2305 v1_0 VxWorks+5.4.2 is a proprietary product.
Before it can be installed, you need to obtain a group name and password for
it by sending a proprietary products request form to compdiv@fnal.gov

Have you obtained a group name and password? no
Do you need a proprietary product request form? no
Error: Unable to create ftp connection to "fnkits.fnal.gov:6021" port 6021
error: can't transfer /ftp/products/tor_mv2305/v1_0/VxWorks+5.4.2/tor_mv2305_v1_0_VxWorks+5.4.2
     from fnkits.fnal.gov:6021 to
    /tmp/test-it/tor_mv2305/v1_0/VxWorks-5-4-2
upd install failed.

  If you request the form, as shown, you will find it downloaded to your home directory in ASCII format for easy editing. Fill out the form and email it to the address listed in the form. Another option is to fill out and submit the Web-based form at:

  %{font-family: monospace} http://computing.fnal.gov/xms/?pid=1000374 %

  If your request is approved, you will receive email with a valid group id and password for the product. You can then install the product, entering these two items when prompted (it's best to cut and paste the group id and password from the email onto your terminal window to prevent typos.)

  The installation proceeds as normal from this point on. If you enter the group id and password incorrectly, or if they have expired (which happens a few days after they are sent), you will get an error message.

  Try again to be sure the values get entered correctly. If it still doesn't work, reply to the email you received containing the group id and password, and ask to have the product re-opened for you.

TOC PREV NEXT

This page last revised in May 2014