Installing Software on Linux
All servers have the most common software already installed and available. See Software Modules for more information. Users do not have permission to install software on servers, unless it is installed in one's home directory (and does not require administrator privileges). If a software package is not available, users can submit requests to cshelpdesk@virginia.edu for software to be installed.
Users also have the option to compile software packages themselves, installing the software to an alternate location, however this should only be done under certain circumstances. The best option is to request packages to be installed, this way the software gets installed to all of our systems.
Compiling your own software
If you are building a package from source, you should use the configure script or the build environment variable to set an install-prefix of /usr/local
. Then when you compile, the software will be configured to install exclusively to /usr/local
when you install. Compiling and installing a typical package built using Autoconf/Automake looks like this:
abc1de@applecake ~ $ tar -xf coreutils-8.9.tar.xz abc1de@applecake ~ $ cd coreutils-8.9 abc1de@applecake ~/coreutils-8.9 $ ./configure --prefix=/usr/local checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p ... config.status: executing depfiles commands config.status: executing po-directories commands config.status: creating po/POTFILES config.status: creating po/Makefile abc1de@applecake ~/coreutils-8.9 $ make make all-recursive make[1]: Entering directory `/u/abc1de/coreutils-8.9' Making all in lib make[2]: Entering directory `/u/abc1de/coreutils-8.9/lib' ... ... abc1de@applecake ~/coreutils-8.9 $ make install ..
Ownership of /usr/local
The /usr/local
path is the conventional path for software which is installed locally to a system. This is for software which has a different version and/or configuration than the standard system software. For example, if you need your own alternate version of GCC, you can install it here. All you need to do to get ownership of /usr/local
is to send a ticket to cshelpdesk@virginia.edu requesting it.
Package installation for Linux
Software is installed by system admins in the /sw
filesystem. This is a network filesystem filled with software that has been requested by faculty and students. Environment Modules manage software packages, please read the main article on modules for more information.