UPS/UPD Doc Home page | Computing Division| Fermilab at
Work | Fermilab
Home
|
||||||||||||
![]() |
Complete Guide and Reference Manual for UPS, UPD and UPP v4 | |||||||||||
Table of Contents
About this Manual
Document Structure, Purpose and Intended Audiences
Part I: Overview and End User's Guide
Chapter 1: Quick! I Just Want to ...
1.1 Install a Product from KITS; UPS/UPD Exists on Target Machine
1.2 Install a Product from KITS; No UPS/UPD on Target Machine
1.2.3 Download and Unwind a Product
1.2.4 Check for Required Secondary Products
1.2.6 Setup the Product for Use
1.3 Install UPS/UPD in the Simplest Way
Chapter 2: Overview of UPS, UPD and UPP
2.1 Introduction to UPS, UPD and UPP
2.2 Motivation for the UPS Methodology
2.5 Using UPS Without a Database
2.7.1 Initializing the UPS Environment
2.7.2 Changes UPS Makes to your Environment
2.7.3 Changes UPD Makes to your Environment
Chapter 3: UPS Operations for the End User
3.1 Determining your Machine's Flavor
3.2 Listing Product Information in a Database
3.3 Finding a Product's Dependencies
3.4.1 The setup Command for the Typical Case
3.4.2 When You Need to Specify Other Options
3.5 Running Unsetup on a Product
Part II: Product Installer's Guide
Chapter 4: General Product Installation Information
4.1 Installation Methods for UPS Products
4.2 User Node Registration for KITS
4.3 What You Need to Know before Modifying Your UPD Configuration
4.3.1 Location of UPD Configuration File
4.3.2 Where Products Get Declared
4.3.3 Where Products Get Installed
4.4 Declaring an Instance Manually
4.5.1 What File Permissions Get Set?
4.5.2 You're Ready to Install: Should you Declare Qualifiers?
4.5.3 What if an Install Gets Interrupted?
4.5.4 What if a Product was Installed under a Different Name?
4.6 Post-Installation Procedures
4.7 Networking Restrictions at your Site
4.7.2 Firewall for Incoming TCP Connections
Chapter 5: Finding Information about Products on a Distribution Node
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 6: Installing Products Using UPD
6.1 Quick Installation Instructions
6.2.2 Passing Options to the Local ups declare Command
6.3 How UPD Selects the Database
6.3.1 Database Selection Algorithm
6.3.2 Database Selection for Dependencies
6.3.3 Selecting a Database for Development or Testing
6.4 Checklist for Installing a Product using UPD
6.5.1 Install a Product Using Default Database
6.5.2 Install a Product, Specifying Database
6.5.3 Install a Product and All Dependencies
6.5.4 Install a Product and No Dependencies
6.5.5 Install a Product and Required Dependencies Only
Chapter 7: Installing Products Using UPP
7.1 Overview of Using UPP to Install Products
7.2 Creating a UPP Subscription File
7.2.3 Trigger the Product Installation
7.2.4 Provide Instructions to UPP
7.3 Sample Subscription File for Installing a Product
Chapter 8: Installing Products using FTP
8.1 "Quick and Dirty" Download of Product from KITS
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.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 9: Product Installation: Special Cases
9.1 Installing Products that Require Special Privileges
9.2 Installing Locally Using UPD from AFS-Space
9.3 Installing Products into AFS Space
9.3.2 Request a Product Volume
Chapter 10: Troubleshooting UPS Product Installations
Part III: System Administrator's Guide
Chapter 11: Maintaining a UPS Database
11.1.1 The ups declare Command
11.2.1 The ups declare Command with Chain Specification
11.5 Undeclare and Remove an Instance
11.5.1 Using ups undeclare to Remove a Product
11.5.2 Undoing Configuration Steps
11.5.3 Using UPP to Remove a Product
11.6 Verify Integrity of an Instance
11.7 Modify Information in a Database File
11.8 Determine If a Product Needs to be Updated
11.9 Update a Table File or ups Directory
11.10 Retrieve an Individual File
11.11 Check Product Accessibility
Chapter 12: UPS and UPD Pre-install Issues and General Administration
12.1 Choosing Installer Accounts
12.1.1 Single Installer Account
12.1.2 Multiple Installer Accounts
12.1.3 Separate Installer Accounts for Different Product Categories
12.2 Setting gids for Multiple Installer Accounts
12.3 File Ownership, Permissions and Access Restrictions
12.4 Product File Location and Organization
12.4.2 Single Flavor or Single Node Systems
12.4.3 Multi-Flavor and/or Multi-Node Systems
12.5 Database File Location and Organization
12.5.1 Choosing Single or Multiple UPS Databases
12.5.2 UPS Database File Pointers
12.6 Installing UPS for Use Without a Database
12.7 CYGWIN (Windows NT) Issues
12.7.1 Using Correct Perl Version
12.7.2 Mounting the CYGWIN bin Directory
12.7.3 Setting Environment Variables
12.8 General Administration Issues
12.8.1 Upgrading an Older System
12.8.2 Adding a New Database and/or Products Area
12.8.3 Collecting Statistics on Product Usage
Chapter 13: Providing Access to AFS Products
13.2 Configuring a Local Database to Work With AFS
13.2.1 Steps to Create and Configure the Database
13.2.2 Post-Configuration: Reinitialize FUE Environment
13.2.3 A Note about Product Installation for this Configuration
13.3 Installing a Local Copy of CoreFUE
13.4 Additional Steps for Unfamiliar Naming Conventions
13.5 Updating /usr/local/bin to Access AFS Products
Chapter 14: Installing UPS and UPD from Bootstrap
14.1.1 Predefined Configuration vs. Manual Install
14.1.3 Check with your Experiment
14.1.4 Do you want to run UPS without a Database?
14.2 Downloading the Bootstrap and Configuration Files
14.2.1 Predefined Configurations for UNIX
14.2.2 User-defined Configuration for UNIX
14.2.3 Predefined Configurations for NT
14.3 Customizing a Bootstrap Configuration
14.3.1 Bootstrap Configuration File Statement Definitions
14.4 Running the Bootstrap Procedure
14.5.1 Create the ISO Image and Put it on CDROM
14.5.2 Run the Bootstrap from CDROM
Chapter 15: Automatic UPS Product Startup and Shutdown
15.1 Configuring Your Machine to Allow Automatic Startup/Shutdown
15.2 Installing a UPS Product to Start and/or Stop Automatically
15.2.1 Determine if Auto Start/Stop Feature is Enabled
15.2.2 Determine if Product is Appropriate for Autostart
15.3 Disabling UPS Automatic Start/Stop of Processes
15.4 A Summary of the UPS Automatic Start-up Process
Part IV: Product Developer's Guide
Chapter 16: UPS Product Development: General Considerations
16.1 Product Development Considerations and Recommendations
16.1.1 All Products (Locally Developed and Third Party)
16.1.2 Products that You Develop
16.1.3 Third-Party Products Requiring a Hard-Coded Path
16.2 Tools for Developing and/or Packaging Products
16.3 Directory Structure for a UPS Product Instance
Chapter 17: Building UPS Products
17.1 Basic Steps for Making a UPS Product
17.1.1 Build the Directory Hierarchy
17.1.3 Declare the Product to your Development UPS Database
17.1.4 Copy the Product Executable to the bin Directory
17.1.5 Provide Product man Pages
17.2 Specifics for Different Categories of Products
17.2.3 Products Requiring Build (In-House and Third-Party)
Chapter 18: Making Products Available For Distribution
18.1 Product Distribution Overview
18.2 Creating Product Tar Files
18.3.1 Product Categories Defined for KITS
18.4 Adding an Independent Table File
18.5 Replacing a Component (Table File or ups Directory)
18.7 Deleting a Product or Component
18.9 Including Source in one of Fermilab's CVS Repositories
18.10 Product Announcement Policies
Chapter 19: Using template_product to Build and Distribute UPS Products
19.2 Accessing template_product
19.5 Inserting your Product into the Template
19.6.3 Add Build Instructions to Top-Level Makefile
19.8 Customizing your Tar File
19.9 Adding your Product to a Distribution Node
19.9.2 Specify Multiple Flavors
19.10 Adding your Product Source to a CVS Repository
19.11 Removing your Product from a Distribution Node
Chapter 20: Checklist for Building and Distributing Products
20.4 Distribute to fnkits as "test"
20.6 Distribute to fnkits as "current"
Part V: Distribution Node Maintainer's Guide
Chapter 21: Product Distribution Server Configuration
21.1 How A Server Responds to a UPD Client Command
21.1.1 The Process for upd addproduct
21.1.2 The Process for upd install
21.2 Accounts Required for Distribution Server
21.3.1 Scripts Used to Access Distribution Database
21.3.2 Restricting Access to Distribution Database
21.3.3 Prerequisites for Modifying the Distribution Database
21.3.4 Permissions on Files Created in the Distribution Database
21.5.1 Archive File Keywords and ${SUFFIX}
21.5.2 Pre- and Postdeclare ACTIONs
21.6 Administrative Tasks and Utilities
21.6.1 Reporting FTP and Web Server Activity Using Ftpweblog
21.6.2 Restricting Access for Uploads to Distribution Database
21.6.3 Restricting Access for Downloads from Distribution Database
21.6.4 Restricting Distribution of Particular Products
21.6.5 Flagging Special Category Products Using Optionlist
21.6.6 Searching FTP Server Logfiles Using Searchlog
21.7 Product Distribution via CD-ROM
Chapter 22: Configuration of the fnkits Product Distribution Node
22.1 UPS Configuration for KITS Database
22.2 UPS Configuration for local Product Database
22.3.1 updconfig File Organization
22.3.2 The Recognized Product Categories
22.3.3 Matching Product Categories to updconfig Stanzas
22.3.4 Location and File Name Definitions
22.3.5 Pre- and Postdeclare ACTIONS
22.4 fnkits Server Maintenance
22.4.1 User Accounts and Group Ids
22.4.2 Database and Configuration File Locations
22.4.3 Web Server and FTP Log File Information
Part VI: UPS and UPD Command Reference
Chapter 23: UPS Command Reference
23.1.4 More Detailed Description
23.2.3 More Detailed Description
23.3.4 More Detailed Description
23.4.5 More Detailed Description
23.5.4 More Detailed Description
23.7.4 More Detailed Description
23.8.4 More Detailed Description
23.11.4 More Detailed Description
23.12.4 More Detailed Description
23.13.4 More Detailed Description
23.14.4 More Detailed Description
23.15.4 More Detailed Description
23.16.4 More Detailed Description
23.18.4 More Detailed Description
23.18.5 ups unconfigure Example
23.19.4 More Detailed Description
23.19.5 ups undeclare Examples
Chapter 24: UPD/UPP Command Reference
24.1.4 More Detailed Description
24.1.5 Adding Products to fnkits.fnal.gov
24.1.6 upd addproduct Examples
24.2.4 upd cloneproduct Example
24.8.5 More Detailed Description
24.10.4 More Detailed Description
24.10.5 upd modproduct Examples
24.12.3 upd repproduct Examples
Chapter 25: Generic Command Option Descriptions
25.1 Alphabetical Option Listing
25.2 More Information on Selected Options
Chapter 26: UPS/UPD Command Usage
26.1.1 Order of Command Line Elements
26.1.2 Specifying Version/Chain
26.1.4 Specifying Arguments to Options
26.1.5 Embedded Spaces in Option Arguments
26.1.6 Invalid Option Arguments
26.1.7 Specifying Multiple Products in a Single Command
26.1.8 Multiple Occurrences of Same Option Flag
Chapter 27: Product Instance Matching in UPS/UPD Commands
27.1 Database Selection Algorithm
27.2 Instance Matching within Selected Database
27.2.1 Where Does Instance Matching Take Place?
27.2.3 Qualifiers: Use in Instance Matching
27.2.4 Flavor and Qualifier Matching Algorithm
Part VII: Administrator's Reference
Chapter 28: Information Storage Format in Database and Configuration Files
28.2 Keywords: Information Storage Format
28.2.4 How UPS/UPD Sets Keyword Values
28.3 Flexibility of File Syntax
28.4 List of Supported Keywords
28.5 Syntax for Assigning Keyword Values
28.6 Usage Notes on Particular Keywords
28.6.1 COMPILE_DIR, COMPILE_FILE and @COMPILE_FILE
28.6.2 PROD_DIR_PREFIX, PROD_DIR and @PROD_DIR
28.6.4 TABLE_FILE and @TABLE_FILE
Chapter 29: Version Files
29.2 Keywords used in Version Files
29.3.1 Sample Version File for exmh v1_6_6
29.3.2 Sample version file for foo v2_0
29.4 Determination of ups Directory and Table File Locations
Chapter 30: Chain Files
30.2 Keywords Used in Chain Files
30.3.1 Sample chain file for exmh v1_6_6
30.3.2 Sample chain file for foo v2_0
Chapter 31: The UPS Configuration File
31.1 dbconfig File Organization
31.2 Keywords Used in dbconfig
Chapter 32: The UPD Configuration File
32.1 updconfig File Organization
32.2 Product Instance Identification and Matching
32.3 Defining Locations for Product Files
32.3.2 Read-Only Variables Usable in Location Definitions
32.3.3 Sample Location Definitions
32.4 Pre- and Postdeclare Actions
32.5.1 Generic Template updconfig File
32.5.2 Distribution from the fnkits Node Only
32.5.3 Customized Treatment of ups Directory and Table Files
32.5.4 Implementing Multiple Configurations
32.5.5 Sample Configuration for AFS Space Using ACTIONS
32.5.6 Distribution Node Configuration
Chapter 33: The UPP Subscription File
33.1 UPP Subscription File Header
33.2.1 Product Instance Identification
33.2.2 Conditions and Instructions
33.3.1 Sample UPP Subscription File
33.3.2 A Longer Annotated Example
Part VIII: Developer's Reference
Chapter 34: Actions and ACTION Keyword Values
34.2.1 UPS Commands as Actions
34.2.2 "Uncommands" as Actions
34.3.1 Chains as Keyword Values
34.4 The "Unknown Command" Handler
34.5 Actions Called by Other Actions
Chapter 35: Functions used in Actions
35.4 Functions under Consideration for Future Implementation
35.5 Examples of Functions within Actions
35.5.2 A "declare as current" Action
35.6 Local Read-Only Variables Available to Functions
35.6.1 List of Current Read-Only Variables
35.6.2 Read-Only Variables under Consideration for the Future
Chapter 36: Table Files
36.2 When Do You Need to Provide a Table File?
36.3 Recommendations for Creating Table Files
36.4 Table File Structure and Contents
36.5.2 Product Dependency Conflicts
36.6 Keywords that can be Used in Table Files
36.7.1 Example Illustrating Use of FLAVOR=ANY
36.7.2 Example Showing Grouping
36.7.3 Example with User-Defined Keywords
36.7.4 Examples Illustrating ExeActionOpt Function
Chapter 37: Scripts You May Need to Provide with a Product
37.1 configure and unconfigure
Chapter 38: Use of Compile Scripts in Table Files
Chapter 39: Creating and Formatting Man Pages
39.1 Creating the Source Document (Unformatted)
39.1.2 Man Page Information Categories
39.2 Formatting the Source File
39.3 Converting your Man Page to html Format
Glossary
Index
UPS/UPD Doc Home page | Computing Division| Fermilab at
Work | Fermilab
Home
|
|||||||||||