CSL: Linux/Unix Account Configuration FAQ

A user's account contains configuration data usually referred to as dot files, since the name of each file typically starts with a period. Many accounts have dot files that were originally designed for Solaris (and prior OSs), and which don't always work well with Linux. This FAQ describes the CS specific setup and is not meant as an exhaustive discussion on all possible options.

Because there may be configuration "dot files" for many of the individual applications that are in use, this document will focus on the login shell dotilfes; the options here usually affect the entire login session and so are of the most general interest.

Using the default configuration

Many people have introduced their own customizations into their login shell configuation files; in this case it will be difficult for the lab staff diagnose the problem, because they will have to make a detailed examination of the custom files. If you have no customization, or if you do not care to preserve any customization, you can obtain a current copy of lab dot files, which should work on all machines, at:

/usr/project/support/dotfiles/

The lab dot files use the convention that custom modifications should be placed in the files prepended with ".my-"; this allows for lab-maintained modification to be copied over, while preserving the user-maintained modifications.

Using your own configuration

If you wish to "roll your own" configuration files, you will want to incorporate the following changes in order to make your files compatible with the CS Linux and Solaris systems.

PATH environment variable:

When running on Linux, you will need probably want to make sure your PATH environment variable includes these directories:

     /bin
     /usr/bin
     /sbin
     /usr/sbin
     /usr/X11R6/bin
     /usr/local/bin
     /usr/local/sbin
MANPATH environment variable:

Make sure that your MANPATH environment variable is either unset or includes /usr/share/man.

     unset MANPATH     # bash, ksh, sh
     unsetenv MANPATH  # csh, tcsh
or
     MANPATH="/usr/share/man:$MANPATH"        # bash, ksh, sh
     set MANPATH = "/usr/share/man:$MANPATH"  # csh, tcsh
Other directories to possibly add to MANPATH on Linux:

     /usr/X11R6/man
     /usr/local/man
     /usr/local/share/man
PAGER environment variable:

If your PAGER env. variable is set to this:

     PAGER=/usr/local/bin/less		# bash, ksh, sh
     setenv PAGER /usr/local/bin/less	# csh, tcsh
change it to this (works on Solaris, too):
     PAGER=/usr/bin/less		# bash, ksh, sh
     setenv PAGER /usr/bin/less	# csh, tcsh
or
     PAGER=less		# bash, ksh, sh
     setenv PAGER less	# csh, tcsh
Other environment variables

If you use the standard department .my-cshrc file, you might want to make some of these adjustments below. You will need to locate the context for each of these changes, or replace your .my-cshrc file with the one in /usr/project/support/dotfiles/ .

    set words = ( `uname -a` )
    ...
    else if ( "$SYSTEM" =~ "Linux" ) then
          setenv HOSTTYPE "$words[13]"
          setenv PLATFORM "$words[14]"

    ...
    setenv _LINUX 0

    ...
    else if ( "$SYSTEM" == "Linux" ) then
          setenv _LINUX 1

    ...
    else if ( $SYSTEM == "Linux" ) then
          set xpath = ( /usr/X11R6/bin )

    ...
    else if ($_LINUX == 1 ) then
          set tpath = ( /bin /usr/bin /sbin /usr/sbin )

If you have any questions, please contact the Lab Staff.