CentOS 6 and 7 RPM install

The examples below show an install

Exploring the broad range of yum command line options is beyond the scope of this freesurfer install example. Note that while a user without sudo/root privileges won't be able to install software with yum, you can always run yum (and rpm) commands without sudo and see what is installed on the system, what packages are available from the online repos, etc.

If the yum command has not been run in a while, the first thing it will do is update the list of packages available from the online repositories on the web it uses to search for and download packages from. If we ask yum to tell us if freesurfer is already installed, you might see output like this from yum reporting it is updating the list of available packages and the sites to fetch them from.

$ yum list installed | grep -i freesurfer
(1/2) epel/x86_64 updateinfo
(2/2) updates/7/x86_64/primary_db
.. <output deleted / your output will vary>
Determining fastest mirrors
* base: mirror.siena.edu
* epel: ewr.edge.kernel.org
.. <output deleted / your output will vary>

The result of the above command is that nothing was printed out listing an installed freesurfer package and its version number. Or in the example below, the assumption is that no freesurfer package is currently installed on the system.

We provide a freesurfer *.rpm package for download that is not part of an existing Redhat, CentOS or third-party repository. Yum by default assumes a package is available from an existing online collection of pakcages it has been configured to search for. So in response to the most basic command to install a "freesurfer" package, yum will search through every repository it knows about, find nothing, and then give up.

$ sudo yum install freesurfer
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.seas.harvard.edu
 * epel: mirrors.mit.edu
 * extras: mirror.san.fastserv.com
 * rpmforge: repoforge.spinellicreations.com
 * updates: mirrors.mit.edu
..  <your output will vary>
No package freesurfer available.
Error: Nothing to do

The remedy is to provide command line options to tell yum: (1) the package is not signed as it would be in an online repository; (2) the freesurfer rpm package is local to the machine and should not be searched for or downloaded from an online repository.

$ sudo yum --nogpgcheck localinstall freesurfer-CentOS7-7.0.0-1.x86_64.rpm

Previewing the install

The screen shots below show what the yum package manager reports should be installed for a particular machine running CentOS 7.4. Typing "N" will cancel the install of all software. At the time of this writing, the current revision of CentOS is 7.7. So if you are running a newer version of CentOS compared to CentOS 7.4, and you already have packages like the gcc tools installed on your system, then yum will likely report fewer packages need to be updated and/or installed prior to installing the freesurfer package.