Prior to ups/upd v4.x, the Fermi User Environment (FUE) included a suite of utilities and binaries which were copied into /usr/local. The required FUE utilities, with a brief description of each, were:
Since the autumn of 1999, FUE has been redesigned utilizing the new features of ups v4.x. The goals of the redesign were:
| old method | new method |
|---|---|
| source /usr/local/etc/setups.csh # or . /usr/local/etc/setups.sh source /path/to/setups.csh | # or . /path/to/setups.sh |
| source /usr/local/etc/setpath.csh # or . /usr/local/etc/setpath.sh setup setpath
| |
| source /usr/local/etc/fermi.login # or . /usr/local/etc/fermi.profile setup login
| |
| source /usr/local/etc/fermi.cshrc # or . /usr/local/etc/fermi.shrc setup shrc
| |
/usr/local/bin/Info -new
| setup Info; Info -new
| |
The redesign has been very successful, and is in use on all FUE-compliant systems installed since the autumn of 1999.
To clean up the vestiges of the old FUE, you must first upgrade to the new FUE -- ups/upd v4_0 or higher (we recommend v4_5 at this time (January 2000)), and systools v6_0 or higher (and all of its subsidiary products). You must also convert any existing accounts' login scripts to the new FUE syntax (replace calls to the Fermi files (previously in /usr/local/etc) with the appropriate ups initialization (setups.[c]sh) and "setup xxx"). See FUE Login Methology (tn0089) for details. For example:
typical old .login snippet:
if ( -r /usr/local/etc/fermi.login ) then
source /usr/local/etc/fermi.login
endif
|
replaced by new .login snippet:
if ( -f "/fnal/ups/etc/setups.csh" ) then
source "/fnal/ups/etc/setups.csh"
if ( { ups exist login } ) then
setup login
endif
endif
|
typical old .cshrc snippet:
if ( -r /usr/local/etc/fermi.cshrc ) then
source /usr/local/etc/fermi.cshrc
endif
|
replaced by new .cshrc snippet:
if ( -f "/fnal/ups/etc/setups.csh" ) then
source "/fnal/ups/etc/setups.csh"
endif
if ( { ups exist shrc } ) then
setup shrc
endif
|
systools v6_0 relies on a new product called template_home, which contains the templates for the login scripts which are given to new accounts via cmd adduser (one of the systools utilities). The template_home scripts use the new FUE syntax; therefore, all new accounts created via "cmd adduser" will have the new FUE syntax. However, existing accounts' login scripts will need to be converted to use the new FUE syntax.
The template_home product includes documentation describing the required changes to login scripts.
Once you have converted existing login scripts you may begin to think about removing the old FUE files from /usr/local.
The following files are no longer distributed in /usr/local on a fully FUE compliant system using the latest software. You may consider removing them from your system, but you do so at your own risk.
GREAT BIG DISCLAIMERWe have converted our utilities so that they no longer look for or require the old files from /usr/local. WE HAVE NO WAY OF DETERMINING IF OTHER SCRIPTS OR UTILITIES ON YOUR SYSTEM ARE USING THESE FILES.. We make no guarantees, warrantees, or promises; remove the files below at your own risk. |
| files from /usr/local/bin | |||
| file | originally from... | replaced by... | notes |
|---|---|---|---|
| funame | funkern | ups ($UPS_DIR/bin/funame) | |
| dropit | funkern | ups ($UPS_DIR/bin/dropit) | |
| logdir, logage, logdata, loggid, logshell, loguid, loguser | funkern | included under the systools umbrella | |
| grpmembers, grpname, grpnumber | funkern | included under the systools umbrella | |
| addpath, delpath | funkern | not supported at this time. | |
| Info | futil | separate product Info | |
| obtain, getlock, getdate, cwi | futil | included under the systools umbrella | |
| telephone, tele | futil | separate product telephone | |
| stock | futil | separate product stock | |
| asp2, psnup | futil | separate product psutils | |
| flpr, flpq, flpk | futil | separate product flpr | |
| gzexe, gzip, gunzip | futil | separate product gtools | |
| findcpp | futil | not supported at this time | |
| less, less.help, lesskey | futil | not supported at this time | |
| lsof | futil | not supported at this time | |
| fpasswd | futil | not supported at this time | |
| namefix | futil | not supported at this time | |
| subm, subm.cron | futil | not supported at this time | |
| vt100 | futil | not supported at this time | |
| zap, zmore, zgrep, znew, zforce, zdiff, zcat | futil | not supported at this time | |
| files from /usr/local/etc | |||
| file | originally from... | replaced by... | notes |
|---|---|---|---|
| fermi.profile, fermi.login | systools | obsolete; use "setup login" instead | |
| fermi.shrc, fermi.cshrc | systools | obsolete; use "setup shrc" instead | |
| stdmailrc, stdprofile, stdshrc, stdcshrc | systools | template_home ($TEMPLATE_HOME_DIR/dotfiles.localized/.mailrc, .profile, .shrc, .cshrc) | |
| setups.sh, setups.csh | systools | ups ($SETUPS_DIR/setups.sh, setups.csh) | $SETUPS_DIR is a configurable parameter; on-site systems are requested to include "courtesty links" in /usr/local/etc for backwards compatibility |
| setpath.sh, setpath.csh | systools | new product setpath | "setup setpath" will cause your PATH to be set to a reasonable starting value |
| stdXdefaults.* | systools | template_home ($TEMPLATE_HOME_DIR/dotfiles.localized/.Xdefaults) | |
| files from /usr/local/library/systools | |||
| file | originally from... | replaced by... | notes |
|---|---|---|---|
| sys.env, greeting, functions, genpasswd, adduser, finduser, disuser, chguser, moduser, resetuser, addmember, delmember, deldata, chmod, shells, shell, clearaccounts, renice, vipw, vigr, kill, rm, echo | systools | cmdscripts ($CMDSCRIPTS_DIR/library/*) | Use "ups convert systools" to convert your previous scripts to the new file layout before removing these scripts! |
| addlocal, dellocal | systools | not supported at this time | |
| addproduct, delproduct, modproduct | systools | upd | |
The following files are still expected to be found in /usr/local on an on-site fully-compliant FUE system.
| files still supported in /usr/local | |||
| file | parent product | technical details | notes |
|---|---|---|---|
| /usr/local/etc/setups.[c]sh | ups | Symbolic links to the system-specific $SETUPS_DIR/setups.[c]sh scripts. | These are referred to as the courtesy links. They are not required, but are strongly requested on all on-site nodes. They are for the convenience of the CD personnel who are called upon to assist on many different systems. The links are created once, and never need to be updated again. |
/usr/local/bin/setup_and_run_perl (and /usr/local/bin/perl, /usr/local/bin/perl| perl
| All links to the same file, setup_and_run_perl
| The /usr/local/bin/perl is what allows people to use
#!/usr/bin/env perl in their scripts (for portability)
and be able to run these scripts in environments where "setup"
is not necessarily an option (e.g., cgi scripts). "setup_and_run_perl"
sets whatever environment is necessary for perl, as a "setup perl"
would have done. These links are not required; but if they
aren't present, then users must setup perl
before it can be used.
| |
| /usr/local/bin/tcsh, /usr/local/bin/bash | shells | Login shells. Default systools configuration assumes that these files live in /usr/local/bin; if you move them, you will need to reconfigure systools. | |
In addition, there may be certain security tools or administration utilities which will create files in /usr/local. (They are not documented here, because this document is only covering the old systools/futil/funkern files, not all files that could have been found in /usr/local).
This document was created in January 2000 by llc.