The primary operating system used by most desktops and servers are CIMS are Linux. The main "current" OS is RedHat Enterprise Linux 6 (RHEL6), with CentOS 7 currently in testing as our "next" OS. To determine which OS you are using, use uname -r. If your result contains "el6", you're using RHEL6. If your result contains "el7", you're using CentOS 7.
There are three types of software installed:
- Packaged software
- Software built from source
- Software that is architecture independent and often licensed (MATLAB, etc.)
To get a list of all packaged software, try using "rpm -qa | sort". This will list everything that is installed locally on the system. Once you've identified a package, you can list it's contents with "rpm -ql <PKGNAME>", ex. "rpm -ql emacs".
Software installed under /usr/local is software which we compiled from source. We do this in cases where packages are unavailable or don't integrate nicely into our systems. We also do this in cases where we want to install different versions of software already installed on the system. For example, Python 2.6 comes with RHEL6 as a packaged RPM, but users often want to use Python 3. Python 3 goes into /usr/local.
/usr/local software often requires that you modify some environmental variables to ensure that what you're trying to execute has correct access to the necessary libraries for that program. We've made this process as painless as possible by implementing a "module" system, which allows users to prepare their environment for execution. The relevant commands to use the module system are:
- module avail: list available modules
- module load MODULE_NAME: load the specified module
- module unload MODULE_NAME: unload the specified module
Here's an example of the module system in action:
user@pubbox52[~]$ which python
user@pubbox52[~]$ python -V
user@pubbox52[~]$ module load python-3.4.3
For python 3 specifically:
user@pubbox52[~]$ which python3
user@pubbox52[~]$ python3 -V
If you ever want to see what a module is doing, feel free to look at them directly by opening the module you're interested in in /usr/local/etc/modulefiles in your favorite text editor.
Software installed under /opt is generally paid, archtecture independent software, such as MATLAB, Mathematica, Maple, and so on.