Go to the U of M home page
School of Physics & Astronomy
School of Physics and Astronomy Wiki

User Tools


computing:department:unix:software:ups

This is an old revision of the document!


Introduction to UPS package manager

UPS is a package management system originated from Fermilab. We use it as it allows us to provide multiple versions of popular physics tools such as CERNlib.

The ups command used with list will tell you what products are available. The -a switch includes all instances of those products:

  [211]user@host> ups list -a root

  DATABASE=/local/ups/db
        Product=root    Version=v4_00_03        Flavor=Linux+2.4
                Qualifiers=""   Chain=""

        Product=root    Version=cvsroot Flavor=Linux+2.4
                Qualifiers=""   Chain=development

        Product=root    Version=cvsroot Flavor=OSF1+V5.1
                Qualifiers=""   Chain=development

        Product=root    Version=v4_00_08        Flavor=Linux+2.4
                Qualifiers=""   Chain=""

        Product=root    Version=v4_00_08        Flavor=OSF1+V5.1
                Qualifiers=""   Chain=""

        Product=root    Version=v3_05_06        Flavor=Linux+2.4
                Qualifiers=""   Chain=""

        Product=root    Version=v4_02_00        Flavor=Linux+2.4
                Qualifiers=""   Chain=current

        Product=root    Version=v4_02_00        Flavor=OSF1+V5.1
                Qualifiers=""   Chain=current

You can also use the -K+ switch to get a more concise listing:

[212]user@host> ups list -aK+ root
"root" "v4_00_03" "Linux+2.4" "" ""
"root" "cvsroot" "Linux+2.4" "" "development"
"root" "cvsroot" "OSF1+V5.1" "" "development"
"root" "v4_00_08" "Linux+2.4" "" ""
"root" "v4_00_08" "OSF1+V5.1" "" ""
"root" "v3_05_06" "Linux+2.4" "" ""
"root" "v4_02_00" "Linux+2.4" "" "current"
"root" "v4_02_00" "OSF1+V5.1" "" "current"

To use any of the listed products, use the setup command:

[213]user@host> setup root
[214]user@host> which root
/local/ups/prd/root/v4_02_00/Linux+2.4/bin/root

or to set up a particular version:

[216]user@host> setup root v4_01_02
[217]user@host> which root
/local/ups/prd/root/v4_01_02/Linux+2.4/bin/root

To remove a product from your environment, use the unsetup command:

[218]user@host> unsetup root
[219]user@host> which root
root: Command not found.

To see all of the products in the database use the ups list command:

[220]user@host> ups list -aK+
"bash" "v2_03" "Linux+2" "" "current"
"cern" "2002" "Linux+2.4" "" ""
"cern" "2002" "OSF1+V5.1" "" "current"
"cern" "2003" "Linux+2.4" "" "current"
"cern" "2003" "OSF1+V5.1" "" ""
"cern" "2004" "Linux+2.4" "" ""
"clhep" "v1_8_2_1" "Linux-2.4" "" "current"
"gcc" "v3_3_1" "Linux+2.4" "" ""
"gcc" "v3_4_1" "Linux+2.4" "" ""
"gcc" "v3_4_3" "Linux+2.4" "" ""
"geant4" "v4_6_2_p02" "Linux+2.4" "" "current"
"geant4" "v4_6_0_p01" "Linux+2.4" "" ""
"root" "v4_00_03" "Linux+2.4" "" ""
"root" "cvsroot" "Linux+2.4" "" "development"
"root" "cvsroot" "OSF1+V5.1" "" "development"
"root" "v4_00_08" "Linux+2.4" "" ""
...

Any one of these products can set up another product when called to be setup itself. To see the chain of dependencies, use the “ups depend” command.

[221]user@host> ups depend root
root v4_02_00 -f Linux+2.4 -z /local/ups/db -g current
|__cern 2003 -f Linux+2.4 -z /local/ups/db -g current
|  |__cernsource 2003 -f NULL -z /local/ups/db

So concludes our quick introduction to using ups. Complete details of ups and upd can be found at the Fermilab UPS/UPD documentation site. Also useful is their UPS/UPD Quick Reference card.

computing/department/unix/software/ups.1218139907.txt.gz · Last modified: 2008/08/07 15:11 by allan