OSG Yum Repositories¶
This document introduces Yum repositories and how they are used in the OSG. If you are unfamiliar with Yum, see the documentation on using Yum and RPM.
The OSG hosts multiple repositories at repo.opensciencegrid.org that are intended for public use:
|The OSG Yum repository...||Contains RPMs that...|
||are considered production-ready (default).|
||are considered production-ready but are released at faster pace than the
||have passed developer or integration testing but not acceptance testing|
||have not passed developer, integration or acceptance testing. Do not use without instruction from the OSG Software and Release Team.|
||have newer versions that may require manual action after an update. See this section for details.|
||have been contributed from outside of the OSG Software and Release Team. See this section for details.|
OSG's RPM packages also rely on external packages provided by supported OSes and EPEL. You must have the following repositories available and enabled:
- OS repositories (SL 6/7, CentOS 6/7, or RHEL 6/7 repositories, including "extras" repositories)
- EPEL repositories
- OSG repositories
If any of these repositories are missing, you may end up with installation issues or missing dependencies.
Other repositories, such as
rpmforge, are not supported and you may encounter problems if
you use them.
Certain sites have requested new versions of software that would be considered "disruptive" or "experimental":
upgrading to them would likely require manual intervention after their installation.
We do not want sites to unwittingly upgrade to these versions.
For the benefit of the sites that are interested in upgrading to these versions, we want to provide the same assurance
of quality and production-readiness that we guarantee for the
osg release repository.
Due to the relatively small number of such packages, a full fork of the OSG 3 distribution is not warranted. Instead, we have created a separate set of repositories that contain only the "disruptive" versions of the software.
These repositories have the same structure as our standard repositories.
For example, there are
osg-upcoming repositories, which are analagous to the
osg repositories, respectively.
A full installation of our software stack is not possible using only the
osg-upcoming repositories, since they
contain a small subset of the software we ship.
Both the main
osg and the
osg-upcoming repositories will need to be enabled for the installation to work.
Because of this, interoperability will be maintained between the main
Depending on test results from sites, some packages in
osg-upcoming may eventually end up in the main
The rest of the packages will eventually form the basis of the next OSG release series
(e.g. "OSG 3.5").
In addition to our regular software repositories, we also have a
contrib (short for "contributed") software repository.
This is software that is does not go through the same software testing and release processes as the official OSG
Software release, but may be useful to you.
Particularly, contrib software is not guaranteed to be compatible with the rest of the OSG Software stack nor is it
supported by the OSG.
The definitive list of software in the contrib repository can be found here:
If you would like to distribute your software in the OSG
contrib repository, please contact us with a
description of your software, what users it serves, and relevant RPM packaging.
Installing Yum Repositories¶
Install the Yum priorities plugin¶
The Yum priorities plugin is used to tell Yum to prefer OSG packages over EPEL or OS packages. It is important to install and enable the Yum priorities plugin before installing grid software to ensure that you are getting the OSG-supported versions.
Install the Yum priorities package:
[email protected] # yum install yum-plugin-priorities
/etc/yum.confhas the following line in the
Enable the "extras" OS repositories¶
Some packages depend on packages in the "extras" repositories of your OS, so you must ensure that those repositories are enabled.
The instructions for this vary based on your OS:
On Scientific Linux, install the
yum-conf-extrasRPM package, and ensure that the
On CentOS, ensure that the
On Red Hat Enterprise Linux, ensure that the
Server-Extraschannel is enabled.
A repository is enabled if it has
enabled=1 in its definition,
or if the
enabled line is missing
(i.e. it is enabled unless specified otherwise.)
Install the EPEL repositories¶
OSG software depends on packages distributed via the EPEL repositories. You must install and enable these first.
Install the EPEL repository, if not already present. Choose the right version to match your OS version.
[epel]section should contain:
prioritysetting, or a
prioritysetting that is 99 or higher
If you have your own mirror or configuration of the EPEL repository, you MUST verify that the priority of the EPEL repository is either missing, or 99 or a higher number. The OSG repositories must have a better (numerically lower) priority than the EPEL repositories; otherwise, you might have dependency resolution ("depsolving") issues.
Install the OSG Repositories¶
This document assumes a fresh install. For instructions on upgrading from one OSG series to another, see the release series document.
Install the OSG repositories:
## EPEL 6 (For RHEL 6, CentOS 6, and SL 6) [email protected] # yum install https://repo.opensciencegrid.org/osg/3.4/osg-3.4-el6-release-latest.rpm ## EPEL 7 (For RHEL 7, CentOS 7, and SL 7) [email protected] # yum install https://repo.opensciencegrid.org/osg/3.4/osg-3.4-el7-release-latest.rpm
The only OSG repository enabled by default is the release one.
If you want to enable another one (e.g.
osg-testing), then edit its file
/etc/yum.repos.d/osg-testing.repo) and change the enabled option from 0 to 1:
[osg-testing] name=OSG Software for Enterprise Linux 7 - Testing - $basearch #baseurl=https://repo.opensciencegrid.org/osg/3.4/el7/testing/$basearch mirrorlist=https://repo.opensciencegrid.org/mirror/osg/3.4/el7/testing/$basearch failovermethod=priority priority=98 enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OSG
Enable automatic security updates¶
For production services, we suggest only changing software versions during controlled downtime. Therefore we recommend security-only automatic updates or disabling automatic updates entirely.
To enable only security related automatic updates:
On Enterprise Linux 6, edit
On Enterprise Linux 7, edit
update_cmd = security
To disable automatic updates entirely:
On Enterprise Linux 6, edit
On Enterprise Linux 7, run:
[email protected] # service yum-cron stop
Configuring Spacewalk priorities¶
Sites using Spacewalk to manage RPM packages will need to configure OSG Yum
repository priorities using their Spacewalk ID. For example, if the OSG 3.4 repository's Spacewalk ID is
/etc/yum/pluginconf.d/90-osg.conf to include the following:
``` [centos_7_osg_34_dev] priority = 98
If you run a large site (>20 nodes), you should consider setting up a local mirror for the OSG repositories. A local Yum mirror allows you to reduce the amount of external bandwidth used when updating or installing packages.
Add the following to a file in
%RED%RANDOM%ENDCOLOR% * * * * root rsync -aH rsync://repo.opensciencegrid.org/osg/ /var/www/html/osg/
Or, to mirror only a single repository:
%RED%RANDOM%ENDCOLOR% * * * * root rsync -aH rsync://repo.opensciencegrid.org/osg/%RED%OSG_RELEASE%ENDCOLOR%/el6/development /var/www/html/osg/%RED%OSG_RELEASE%ENDCOLOR%/el6
Replace RANDOM with a number between 0 and 59.
Replace OSG_RELEASE with the OSG release you would like to use (e.g. '3.4').
On your worker node, you can replace the
baseurl line of
/etc/yum.repos.d/osg.repo with the appropriate URL for your
If you are interested in having your mirror be part of the OSG's default set of mirrors, please file a support ticket.