Pacman Notes

Overview

pacman is a "package manager" which is used to install Athena Kit Distributions. This document gives some additional notes about how to use pacman to install and maintain Athena software. Ordinary users do not need to use pacman much, However if you want to install Athena software on your own computer need to use pacman. First download and untar the Pacman software, run the pacman setup script and then do a "pacman -get" command (described below) to install the Athena software.

Pacman setup

  1. Log on as root to linat01 (SLC3 machine) and obtains AFS tokens with kinit admin and aklog. Note that pacman currently only works with SLC3, but this will certainly change.
  2. Next source the pacman setup script: source /afs/atlas.umich.edu/atlas/software/mirror/pacman/setup.sh.

Mirrors and Kit Installs

Pacman is used to manage both ATLAS software mirrors and Athena kit installations, and it is sometimes confusing which item it is working with. Here are brief descriptions of mirrors and kits.

Mirrors

Mirrors are "software caches" of tar files of ATLAS software and configuration info which are the source for Athena kit installations. We have installed an ATLAS mirror at Michigan to make it easy to Athena kits locally.

When doing a command with a mirror the explicit mirror name is used with the pacman command. The mirror name can be given in several different ways (using the UM ATLAS mirror as an example):

  1. The complete or relative file path to the mirror, for example /afs/atlas.umich.edu/atlas/software/mirror/ATLAS.mirror
  2. The pacman cache name for a given mirror, which is am-UM for the UM ATLAS mirror (see Pacman Cache List
  3. The http address for a given mirror, which is http://gate01.grid.umich.edu/am-UM/ATLAS.mirror for the UM mirror.

Kit Installations

Kit installations are the actual installed working Athena code/libraries which has the standard Athena project directories, plus helper software like CMT and root.

To manipulate a kit, you must cd to the directory where the kit is installed. The kit configuration/status is read from a directory called o..pacman..o which pacman creates in the kit install directory. You do not specify any kit name to work on a kit - just cd to the kit directory.

General Operations

pacman -help
List all the options for pacman which are more numerous than are described here.

pacman -history
show the history of pacman commands which were done in this installation. Note that for this to work you must "cd" to the directory with the installation (i.e. where the o..pacman..o directory lives).

pacman -registry
Lists all the ATLAS software mirrors

Kit Operations

For all of these commands to work you must "cd' to the location of the kit installation (where the o..pacman..o directory lives).

$ pacman -get MIRROR:X.Y.Z: Install Athena version X.Y.Z from mirror MIRROR. MIRROR has to specified as in one of 3 ways describe above (mirror file name, http URL, or registered mirror name).

$ pacman -get MIRROR:X.Y.Z+KV: Do a kit validation on Athena version X.Y.Z kit installation, and installing from mirror MIRROR if necesary. A kit validation involves running a script of a variety of test Athena jobs. Note that kit validations can fail for a variety of reasons not related to the installation per se (like DB access), so failure does not automatically mean the installation is bad. The kit validation will produce output like this (success shown here):

############################################################
##        Atlas Distribution Kit Validation Suite         ##
##                 13-07-2006  v1.9.10-1                  ##
##                                                        ##
## Alessandro De Salvo <Alessandro.DeSalvo@roma1.infn.it> ##
############################################################
Testing AtlasOffline 12.0.2
athena executable                             [PASSED]
athena shared libs                            [PASSED]
Release shared libraries                      [PASSED]
Release Simple Checks                         [  OK  ]
Athena Hello World                            [  OK  ]
ReadSiDetectorElements                        [PASSED]
ReadTRTDetectorElements                       [PASSED]
InDetDetDescr Example                         [  OK  ]
MooEvent compilation                          [  OK  ]
Pythia Event generation                       [  OK  ]

##################################################
##   AtlasOffline 12.0.2 Validation [  OK  ]
##################################################

$ pacman -get MIRROR:Multi: Do a "Multi" Athena installation of all recent versions. This is the best way to have multiple versions i n one location. If you want multiple individual versions its best to put them in separate directories to avoid conficts.

pacman -l -d 2
List which Athena versions have been installed. GIves output like this:

 [X] 12.1.0
        [X] Ready...
        [X] AtlasOffline_12_2_0_i686_slc3_gcc323_opt...
 [*] 12.2.0
        [*] Ready...
        [*] AtlasOffline_12_2_0_i686_slc3_gcc323_opt...
 [ ] 12.3.0
        [ ] Ready...
        [ ] AtlasOffline_12_2_0_i686_slc3_gcc323_opt...

    [*] means the version is successfully install
    [X] means the version is unsuccessfully installed
    [ ] means the version is available, but not installed.

$ pacman -lc: List all the software packages which been installed in the kit (Athena versions, cmt, etc).

Mirror Operations

pacman -mirror ATLAS.mirror
create a mirror in directory ATLAS.mirror (requires many hours and ~14 GB disk space). Mirror is installed from CERN.

pacman -update-check ATLAS.mirror
check if updates are available

pacman -update ATLAS.mirror
install updates (e.g. new Athena releases and/or patches to old ones)

pacman -lc ATLAS.mirror
List the contents of the mirror
The listing will have lines like this:
[ ] 11.5.0
which means, for example, that Athena 11.5.0 code is available in the mirror.

-- EdwardDiehl - 25 Oct 2006
Topic revision: r12 - 10 Nov 2006, EdwardDiehl
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback