About This Document¶
This document introduces YUM repositories and how OSG uses them. If you are unfamiliar with YUM, see the documentation on using YUM and RPM.
OSG hosts four public-facing repositories at repo.opensciencegrid.org:
- release: RPMs considered production-ready.
- testing: RPMs not yet ready for release; expect bugs.
- development: RPMs that are bleeding-edge; do not use without instruction from OSG Software and Release team members.
- contrib: RPMs contributed from outside the OSG S&R team; no official OSG support.
- upcoming release/testing/development: Similar to release/testing/development but for new versions of software that may require manual action after an update.
OSG's RPM packages rely also 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)
- EPEL repositories
- OSG repositories
If any of these repositories are missing, you may end up with missing dependencies.
Other repositories, such as
rpmforge, are not supported and you may encounter problems if you use them.
Installing and Configuring Repositories¶
Install the YUM priorities plugin¶
We use YUM priorities 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 avoid getting the wrong versions.
Install the YUM priorities package:
[email protected] # yum install yum-plugin-priorities
/etc/yum.confhas the following line in the
Install the EPEL repositories¶
OSG software depends on packages distributed via the EPEL repositories. You must install and enable those 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; you might have dependency resolution ("depsolving") issues otherwise.
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
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:
[email protected] # rpm -Uvh <URL>
<URL> is one of the following:
|Series||EL6 URL (for RHEL 6, CentOS 6, or SL 6)||EL7 URL (for RHEL 7, CentOS 7, or SL 7)|
The only OSG repository enabled by default is the release one. If you want to enable another one, such as
osg-testing, then edit its file (e.g.
/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
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
RANDOM * * * * root rsync -aH rsync://repo.opensciencegrid.org/osg/ /var/www/html/osg/
Or, to mirror only a single repository:
RANDOM * * * * root rsync -aH rsync://repo.opensciencegrid.org/osg/OSG_RELEASE/el6/development /var/www/html/osg/OSG_RELEASE/el6
Replace RANDOM with a number between 0 and 59.
Replace OSG_RELEASE with the OSG release you want to use (e.g. '3.3', or '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 mirror.
If you are interested in having your mirror be part of the OSG's default set of mirrors, please file a GOC ticket.