How to add third party repositories (e.g. EPEL or Centrify for Red Hat Enterprise Linux 6/7) in Red Hat Satellite 5.x?
Environment
- Red Hat Satellite 5.X
- Red Hat Enterprise Linux 5 and above
Issue
- Need to create and
sync
some third party repositories in Red Hat Satellite. - How does one add non-redhat repositories to a satellite server?
- How can a third party repository be added to the satellite so that the servers gets updated when when we do a yum update ?
- How to host my local repository on satellite server so that it can be shared with all the clinets ?
Resolution
To Sync a third party repository on RHN Satellite, follow the procedure given below. In the following steps, the example is taken of "EPEL" repository.
-
Go to the Satellite Web-UI through browser, then select
Channels => Manage Software Channels
. Here you can seecreate new channel
link. Click on that. -
It will open a
Create Software Channel
page, in Details tab, provide the following (As an example,EPEL
is selected, so provide the details according to the requirements.)
Channel Name*: EPEL for Red Hat Enterprise Linux 6
Channel Label*: epel_rhel6_x86_64
Parent Channel: Red Hat Enterprise Linux Server (v. 6 for 64-bit x86_64)
Parent Channel Architecture: x86_64
Yum Repository Checksum Type: sha1
Channel Summary*: EPEL Repository
Some other information can be filled, but it's not mandatory to fill all of the information. Then click on Create Channel
.
- In the left corner, click on
Manage Repositories
, and then on Right corner, click oncreate new repository
. Provide two details there. As testing is done for EPEL Repository for Red Hat Enterprise Linux 6 x86_64 bit, put the information as follows.
Repository Label* epel_repo_rhel6_x86_64
Repository URL* http://mirrors.kernel.org/fedora-epel/6Server/x86_64/
- In case of centrify repo, you need to provide username and password in URL declaration*
Repository Label: centrify
Repository URL: https://USERNAME:PASSWORD@repo.centrify.com/rpm-redhat/ <== replace USERNAME/PASSWORD
Note: If the mirror URL above does not work then please choose a new mirror from the Fedora EPEL mirror list
Then click on Create Repository
Button. It will display "Repository created successfully"
-
To sync the repositories, click on
Manage Software Channel
on Left side Box, and search forepel_repo_rhel6_x86_64
, here in Repositories tab of "epel_rhel6_x86_64", and then select "epel_repo_rhel6_x86_64" which is the newly created repository. Tick in the check-box given in front of the same. ClickUpdate Repositories
button. Now the repository is aligned to the channel. -
In the same page, see
sync
subtab underRepository
tab. Click onSync
. Now, click on theSync Now
button to sync the repository right, or it can be scheduled later. -
After completing
sync
, go to theSystems
tab and select any test Red Hat Enterprise Linux 6 machine. Click onAlter Channel Subscription
and selectEPEL for Red Hat Enterprise Linux 6
Channel. And save. -
Go on the same client machine and run the following command to see if the repository is enabled or not.
# yum repolist
For more details, the documentation is available on Portal, click here to go to the Documentation
If you want to sync it manually or through the command line use :
# spacewalk-repo-sync -c <channel label> -u http://mirrors.kernel.org/fedora-epel/6Server/x86_64/
# spacewalk-repo-sync -c <channel label> -u https://USERNAME:PASSWORD@repo.centrify.com/rpm-redhat/
To check the progress of the repo sync, please check the logs on:
/var/log/rhn/reposync/{channel name} {date}.log
Note: Make sure URL is correct. If the mirror URL above does not work then please choose a new mirror from the Fedora EPEL mirror list
Note: We can use the same steps to sync EPEL7 using the URL http://dl.fedoraproject.org/pub/epel/7/x86_64/
as an example.
You can find more mirror URL from the Fedora EPEL mirror list
For repos containing packages with same name/version (NVREA) but different content / checksums, see How to store packages with same name/version (nvrea) but different content/checksum in Satellite 5.x?
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
11 Comments
After I create software shannel and linked repository i got error with sync repository:
Server info:
Updated info:
Target server is RHEL6,
Satellite server is RHEL 5 + RHN Satellite release 5.4.1
spacewalk-repo-sync run on Satellite server/
URL does not seem to be working any longer. Mirror down?
http://mirrors.servercentral.net/fedora/epel/6/x86_64/
Hi Steven,
The mirror seems to have changed since this article was originally published. I've updated this article with a different mirror and a link to the list of EPEL mirrors. Please let us know if you have any new issues with the mirror.
I'm having trouble with the new mirror list, but it may be operator error. Can you check on it?
And if you have any advice on building the URLs, or finding out the labels the mirrors use, I'd appreciate it.
It seems like different places use different schemes.
Here is a newer link for the repo itself:
http://dl.fedoraproject.org/pub/epel/6/x86_64/
And this link seems to be the latest for the mirror list:
http://dl.fedoraproject.org/pub/epel/6/x86_64/repoview/
Hi, what about adding a third-party repository that uses an authenticated URL string? I'm trying to add the HP firmware for Proliant repository that requires a subscription oto access. Once I obtain a "token", I put it into the URL like this:
http://TOKEN:null@downloads.linux.hp.com/SDR/repo/fwpp
If I paste that into my browser, I can get into the repository. I can get it to connect using wget going through our proxy. When I try adding it into a repository in the Satellite, It won't connect. We have the satellite set up to use the proxy also.
Repo URL: http://{edited_out_the_token)@downloads.linux.hp.com/SDR/repo/fwpp/rhel/6/x86_64/current
ERROR: Cannot retrieve repository metadata (repomd.xml) for repository: fwpp_rhel6. Please verify its path and try again
I am able to set up repositories using the other HP urls that are non-authenticated like the Service Pack repo:
http://downloads.linux.hp.com/SDR/repo/spp/RHEL/6Server/x86_64/current/
Sync started: Mon Jul 6 15:38:31 2015
['/usr/bin/spacewalk-repo-sync', '--channel', 'hp_spp_rhel6', '--type', 'yum']
Repo URL: http://downloads.linux.hp.com/SDR/repo/spp/RHEL/6Server/x86_64/current/
Packages in repo: 704
No new packages to sync.
Repo http://downloads.linux.hp.com/SDR/repo/spp/RHEL/6Server/x86_64/current/ has 0 errata.
Sync completed.
We don't use the Satellite Web-UI so we are unable to complete these steps.
Where is the instructions for Satellite 6.2?
No option on Satellite UI referenced in solution, i.e.: "Go to the Satellite Web-UI through browser, then select Channels => Manage Software Channels. Here you can see create new channel link. Click on that."
No "Channels" option.
** Disclaimer: I'm a Centrify Employee ** We just got an inquiry about this article in our community. Adding the URL for completenes: https://community.centrify.com/t5/Centrify-Infrastructure-Services/what-is-repo-centrify-com/m-p/34269#M2671
Just in case the URL is scrubbed from the comment, some quick hits: - Centrify offers Yum, APT, Zypper and wget repos. - The goal is to facilitate the installation of Centrify assets in containers and systems. - The repo is authentiated with encrypted credentials that are provided to Centrify customers via the Customer Support Portal > Download Center > Repos - Tip: Always validate the client in your environment when a new version is out. The frameworks (PAM, NSS or Kerberos) may change as OS vendor make improvements. Search for "all supported platforms - Centrify" in your favorite search engine to validate support.