24.6.15

Install 'screen' from CentOS base repository on Rocks 5.5 cluster using 'yum'

Problem:
On my install of Rocks 5.5 running CentOS 5.8, there was no working 'screen' command.  You need 'screen'. Really. Following the few threads out there I became mired in the exasperating process of adding a yum repository to Rocks.  Don't be like me, don't follow the instructions at:
http://central6.rocksclusters.org/roll-documentation/base/6.1/update.html
This particular problem is much easier to solve.  The repo is already there, just not enabled.

Solution:
1. Determine which repositories, already installed on your cluster, are enabled:

yum repolist all

For me, the only enabled repository was Rocks-5.5. 'Screen' is not found there, so that when you run:

yum install screen

you get:

Setting up Install Process
No package screen available.
Nothing to do


2. Enable the CentOS base repository:

cd /etc/yum.repos.d
cat CentOS-Base.repo

note that:
...
[base]
enabled = 0
...

change that:

cp CentOS-Base.repo CentOS-Base.repo.old          #preserve the initial file
perl -0pe 's/\[base\]\nenabled = 0/\[base\]\nenabled = 1/' CentOS-Base.repo > CentOS-Base.repo.new

cat CentOS-Base.repo.new

note that now:
...
[base]
enabled = 1
...

rename new file to original file name:

mv CentOS-Base.repo.new CentOS-Base.repo

3. Verify that CentOS base repository is now enabled:

yum repolist all

4. Proceed with normal installation process using yum:

yum install screen

...hooray, screen.