Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
linux_software_install [2018/03/08 18:26]
ktm5j created
linux_software_install [2020/08/27 15:41] (current)
pgh5a
Line 1: Line 1:
-====== Installing Software on Linux ======+==== Installing Software on Linux ====
  
-The installation of Linux software is a common ​request. Users can submit requests to root for software ​to be installed ​on department Linux systems. Users also have the option ​to compile ​software ​packages themselvesinstalling the software to an alternate location, however this should only be done under certain circumstancesThe best option is to request packages ​to be installed, this way the software gets installed to all of our systems.+All servers have the most common software ​already ​installed ​and available. See [[linux_environment_modules|Software Modules]] for more information. Users do not have permission ​to install ​software ​on serversunless 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. ​
  
-===== Compiling your own software ​=====+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: 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:
  
 <​code>​ <​code>​
-ktm5j@applecake ~ $ tar -xf coreutils-8.9.tar.xz +abc1de@applecake ~ $ tar -xf coreutils-8.9.tar.xz 
-ktm5j@applecake ~ $ cd coreutils-8.9 +abc1de@applecake ~ $ cd coreutils-8.9 
-ktm5j@applecake ~/​coreutils-8.9 $ ./configure --prefix=/​usr/​local+abc1de@applecake ~/​coreutils-8.9 $ ./configure --prefix=/​usr/​local
 checking for a BSD-compatible install... /​usr/​bin/​install -c checking for a BSD-compatible install... /​usr/​bin/​install -c
 checking whether build environment is sane... yes checking whether build environment is sane... yes
Line 19: Line 21:
 config.status:​ creating po/POTFILES config.status:​ creating po/POTFILES
 config.status:​ creating po/Makefile config.status:​ creating po/Makefile
-ktm5j@applecake ~/​coreutils-8.9 $ make+abc1de@applecake ~/​coreutils-8.9 $ make
 make  all-recursive make  all-recursive
-make[1]: Entering directory `/net/zf15/ktm5j/​coreutils-8.9'​+make[1]: Entering directory `/u/abc1de/​coreutils-8.9'​
 Making all in lib Making all in lib
-make[2]: Entering directory `/net/zf15/ktm5j/​coreutils-8.9/​lib'​+make[2]: Entering directory `/u/abc1de/​coreutils-8.9/​lib'​
 ... ...
 ... ...
-ktm5j@applecake ~/​coreutils-8.9 $ make install+abc1de@applecake ~/​coreutils-8.9 $ make install
 .. ..
 </​code>​ </​code>​
  
-===== Ownership of /​usr/​local ​===== +=== 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 root requesting it. +
- +
-===== Compiling/​installing software to your home directory =====+
  
-We caution against compiling and/or installing software to your home directory. If the path to your home directory were to change due to a filesystem migration ​or something similar, then your software ​can breakThis will especially cause issues ​if your ''​%%.bashrc%%''​ or ''​%%.profile%%'' ​adds path in your home directory ​to your ''​%%PATH%%''​ environment variableThis will cause your shell to become unusable if anything changes.+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 hereAll you need to do to get ownership of ''​%%/usr/local%%'' ​is to send ticket ​to cshelpdesk@virginia.edu requesting it.
  
-===== Package ​installs ​for Linux =====+=== Package ​installation ​for Linux ===
  
-We now compile and install software to the ''​%%/​sw%%'' ​network path. This is a network filesystem filled with software that has been requested by faculty and students. ​We now use software called ​Environment Modules ​to manage software packages, please read the [[Linux_Environment_Modules|main article on modules]] for more information.+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 [[Linux_Environment_Modules|main article on modules]] for more information.
  
  • linux_software_install.1520533561.txt.gz
  • Last modified: 2018/03/08 18:26
  • by ktm5j