Creating a yum repo for network machines

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty margin-bottom:0;







up vote
1
down vote

favorite












We've got a RHEL 7.4 server that is registered and would like to make it a yum server for other non-internet connected servers. This particular server is allowed to be connected, but we would like to keep the others offline. I'm pretty new to all of this so I've got a few questions.



I'm from mainly a Windows environment so the way it was explained to me is that a yum server acts similarly to a WSUS server in the sense that it can receive updates and then push them out (in our case, we have our one upstream server that pushes updates to several other downstream servers).



  1. Is this an accurate comparison?


  2. Does each server need to be registered (offline registration) to be able to get yum updates?


  3. Does the online repo need to have the requested package in his repo for another server to pull? Or can an "offline" server use the online server to acquire the package?


I've tried to do this myself and spent about 2 days learning 1000 ways it doesn't work. I've tried to set up repos via http and ftp, but I cannot seem to get it working. I run into problems with directory access with both http and ftp (though I've tried setting access to 777 with no avail).



Would appreciate a little guidance.



Update:



Got the web server piece up and running! So the only question I think I have left is do I need to reposync each of the repos that are the result of "subscription-manager repos" on my online server?







share|improve this question





















  • yum updates are always pulled, never pushed (although a configuration management tool can invoke a pull).
    – Ignacio Vazquez-Abrams
    Aug 3 at 17:35











  • @IgnacioVazquez-Abrams yeah I think I understand that much. Big thing is not understanding how to set it up. May end up just having to contact RedHat support..
    – Racehorse35
    Aug 3 at 17:52










  • Not strictly an answer, but have you considered a caching HTTP proxy? Restrict it to your upstream mirror, then configure your clients to point at the upstream mirror going through the proxy. When a client hits the package will be cached on the proxy server
    – Outurnate
    Aug 3 at 18:00
















up vote
1
down vote

favorite












We've got a RHEL 7.4 server that is registered and would like to make it a yum server for other non-internet connected servers. This particular server is allowed to be connected, but we would like to keep the others offline. I'm pretty new to all of this so I've got a few questions.



I'm from mainly a Windows environment so the way it was explained to me is that a yum server acts similarly to a WSUS server in the sense that it can receive updates and then push them out (in our case, we have our one upstream server that pushes updates to several other downstream servers).



  1. Is this an accurate comparison?


  2. Does each server need to be registered (offline registration) to be able to get yum updates?


  3. Does the online repo need to have the requested package in his repo for another server to pull? Or can an "offline" server use the online server to acquire the package?


I've tried to do this myself and spent about 2 days learning 1000 ways it doesn't work. I've tried to set up repos via http and ftp, but I cannot seem to get it working. I run into problems with directory access with both http and ftp (though I've tried setting access to 777 with no avail).



Would appreciate a little guidance.



Update:



Got the web server piece up and running! So the only question I think I have left is do I need to reposync each of the repos that are the result of "subscription-manager repos" on my online server?







share|improve this question





















  • yum updates are always pulled, never pushed (although a configuration management tool can invoke a pull).
    – Ignacio Vazquez-Abrams
    Aug 3 at 17:35











  • @IgnacioVazquez-Abrams yeah I think I understand that much. Big thing is not understanding how to set it up. May end up just having to contact RedHat support..
    – Racehorse35
    Aug 3 at 17:52










  • Not strictly an answer, but have you considered a caching HTTP proxy? Restrict it to your upstream mirror, then configure your clients to point at the upstream mirror going through the proxy. When a client hits the package will be cached on the proxy server
    – Outurnate
    Aug 3 at 18:00












up vote
1
down vote

favorite









up vote
1
down vote

favorite











We've got a RHEL 7.4 server that is registered and would like to make it a yum server for other non-internet connected servers. This particular server is allowed to be connected, but we would like to keep the others offline. I'm pretty new to all of this so I've got a few questions.



I'm from mainly a Windows environment so the way it was explained to me is that a yum server acts similarly to a WSUS server in the sense that it can receive updates and then push them out (in our case, we have our one upstream server that pushes updates to several other downstream servers).



  1. Is this an accurate comparison?


  2. Does each server need to be registered (offline registration) to be able to get yum updates?


  3. Does the online repo need to have the requested package in his repo for another server to pull? Or can an "offline" server use the online server to acquire the package?


I've tried to do this myself and spent about 2 days learning 1000 ways it doesn't work. I've tried to set up repos via http and ftp, but I cannot seem to get it working. I run into problems with directory access with both http and ftp (though I've tried setting access to 777 with no avail).



Would appreciate a little guidance.



Update:



Got the web server piece up and running! So the only question I think I have left is do I need to reposync each of the repos that are the result of "subscription-manager repos" on my online server?







share|improve this question













We've got a RHEL 7.4 server that is registered and would like to make it a yum server for other non-internet connected servers. This particular server is allowed to be connected, but we would like to keep the others offline. I'm pretty new to all of this so I've got a few questions.



I'm from mainly a Windows environment so the way it was explained to me is that a yum server acts similarly to a WSUS server in the sense that it can receive updates and then push them out (in our case, we have our one upstream server that pushes updates to several other downstream servers).



  1. Is this an accurate comparison?


  2. Does each server need to be registered (offline registration) to be able to get yum updates?


  3. Does the online repo need to have the requested package in his repo for another server to pull? Or can an "offline" server use the online server to acquire the package?


I've tried to do this myself and spent about 2 days learning 1000 ways it doesn't work. I've tried to set up repos via http and ftp, but I cannot seem to get it working. I run into problems with directory access with both http and ftp (though I've tried setting access to 777 with no avail).



Would appreciate a little guidance.



Update:



Got the web server piece up and running! So the only question I think I have left is do I need to reposync each of the repos that are the result of "subscription-manager repos" on my online server?









share|improve this question












share|improve this question




share|improve this question








edited Aug 3 at 18:56









Jeff Schaller

30.7k846104




30.7k846104









asked Aug 3 at 17:32









Racehorse35

185




185











  • yum updates are always pulled, never pushed (although a configuration management tool can invoke a pull).
    – Ignacio Vazquez-Abrams
    Aug 3 at 17:35











  • @IgnacioVazquez-Abrams yeah I think I understand that much. Big thing is not understanding how to set it up. May end up just having to contact RedHat support..
    – Racehorse35
    Aug 3 at 17:52










  • Not strictly an answer, but have you considered a caching HTTP proxy? Restrict it to your upstream mirror, then configure your clients to point at the upstream mirror going through the proxy. When a client hits the package will be cached on the proxy server
    – Outurnate
    Aug 3 at 18:00
















  • yum updates are always pulled, never pushed (although a configuration management tool can invoke a pull).
    – Ignacio Vazquez-Abrams
    Aug 3 at 17:35











  • @IgnacioVazquez-Abrams yeah I think I understand that much. Big thing is not understanding how to set it up. May end up just having to contact RedHat support..
    – Racehorse35
    Aug 3 at 17:52










  • Not strictly an answer, but have you considered a caching HTTP proxy? Restrict it to your upstream mirror, then configure your clients to point at the upstream mirror going through the proxy. When a client hits the package will be cached on the proxy server
    – Outurnate
    Aug 3 at 18:00















yum updates are always pulled, never pushed (although a configuration management tool can invoke a pull).
– Ignacio Vazquez-Abrams
Aug 3 at 17:35





yum updates are always pulled, never pushed (although a configuration management tool can invoke a pull).
– Ignacio Vazquez-Abrams
Aug 3 at 17:35













@IgnacioVazquez-Abrams yeah I think I understand that much. Big thing is not understanding how to set it up. May end up just having to contact RedHat support..
– Racehorse35
Aug 3 at 17:52




@IgnacioVazquez-Abrams yeah I think I understand that much. Big thing is not understanding how to set it up. May end up just having to contact RedHat support..
– Racehorse35
Aug 3 at 17:52












Not strictly an answer, but have you considered a caching HTTP proxy? Restrict it to your upstream mirror, then configure your clients to point at the upstream mirror going through the proxy. When a client hits the package will be cached on the proxy server
– Outurnate
Aug 3 at 18:00




Not strictly an answer, but have you considered a caching HTTP proxy? Restrict it to your upstream mirror, then configure your clients to point at the upstream mirror going through the proxy. When a client hits the package will be cached on the proxy server
– Outurnate
Aug 3 at 18:00










1 Answer
1






active

oldest

votes

















up vote
3
down vote



accepted










The answers for this will vary a bit depending on your distro, but for RHEL, you'll want to use a utility called reposync - Redhat documents the process here:
https://access.redhat.com/solutions/23016



However, it sounds like you might be hitting issues with your webserver setup which are probably unrelated to the repo work. Depending on what webserver you're using to serve the files (nginx and apache are popular choices), you'll want to debug that as a generic webserver issues problem.



As for the comparison to WSUS, as far as I can tell from MS's explanation, they're not quite analogous; a YUM repo is basically a directory structure containing multiple versions of a lot of individual packages and some metadata that the client can use to quickly learn about those packages. It has no moving parts; the clients are responsible for using it effectively (and you'd use other tools to have them do so).






share|improve this answer

















  • 1




    Apologies if this is a dumb question. With reposync, it asks for a repo ID. On my online server, the command 'subscription-manager repos' gives me quite a few different repos each with their own IDs. Will I need to use reposync for each of those repos to add the packages to my local repository?
    – Racehorse35
    Aug 3 at 18:14










  • It's not a dumb question (and we're all always learning). You only need to mirror what you want to mirror (and note that you need to rerun reposync every time you want a fresh snapshot). If you have a seldom-used repo, or a repo only used by a very small number of machines, you might reasonably decide not to mirror those. One other thing - all this does is set up the repo mirrors. It doesn't instruct your machines to use them. You'll want to modify your repo definitions on other machines in your infra to do that (with Chef or Puppet or Ansible or whatever you use for config management).
    – Pat Gunn
    Aug 3 at 20:43











Your Answer







StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: false,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);








 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f460393%2fcreating-a-yum-repo-for-network-machines%23new-answer', 'question_page');

);

Post as a guest






























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
3
down vote



accepted










The answers for this will vary a bit depending on your distro, but for RHEL, you'll want to use a utility called reposync - Redhat documents the process here:
https://access.redhat.com/solutions/23016



However, it sounds like you might be hitting issues with your webserver setup which are probably unrelated to the repo work. Depending on what webserver you're using to serve the files (nginx and apache are popular choices), you'll want to debug that as a generic webserver issues problem.



As for the comparison to WSUS, as far as I can tell from MS's explanation, they're not quite analogous; a YUM repo is basically a directory structure containing multiple versions of a lot of individual packages and some metadata that the client can use to quickly learn about those packages. It has no moving parts; the clients are responsible for using it effectively (and you'd use other tools to have them do so).






share|improve this answer

















  • 1




    Apologies if this is a dumb question. With reposync, it asks for a repo ID. On my online server, the command 'subscription-manager repos' gives me quite a few different repos each with their own IDs. Will I need to use reposync for each of those repos to add the packages to my local repository?
    – Racehorse35
    Aug 3 at 18:14










  • It's not a dumb question (and we're all always learning). You only need to mirror what you want to mirror (and note that you need to rerun reposync every time you want a fresh snapshot). If you have a seldom-used repo, or a repo only used by a very small number of machines, you might reasonably decide not to mirror those. One other thing - all this does is set up the repo mirrors. It doesn't instruct your machines to use them. You'll want to modify your repo definitions on other machines in your infra to do that (with Chef or Puppet or Ansible or whatever you use for config management).
    – Pat Gunn
    Aug 3 at 20:43















up vote
3
down vote



accepted










The answers for this will vary a bit depending on your distro, but for RHEL, you'll want to use a utility called reposync - Redhat documents the process here:
https://access.redhat.com/solutions/23016



However, it sounds like you might be hitting issues with your webserver setup which are probably unrelated to the repo work. Depending on what webserver you're using to serve the files (nginx and apache are popular choices), you'll want to debug that as a generic webserver issues problem.



As for the comparison to WSUS, as far as I can tell from MS's explanation, they're not quite analogous; a YUM repo is basically a directory structure containing multiple versions of a lot of individual packages and some metadata that the client can use to quickly learn about those packages. It has no moving parts; the clients are responsible for using it effectively (and you'd use other tools to have them do so).






share|improve this answer

















  • 1




    Apologies if this is a dumb question. With reposync, it asks for a repo ID. On my online server, the command 'subscription-manager repos' gives me quite a few different repos each with their own IDs. Will I need to use reposync for each of those repos to add the packages to my local repository?
    – Racehorse35
    Aug 3 at 18:14










  • It's not a dumb question (and we're all always learning). You only need to mirror what you want to mirror (and note that you need to rerun reposync every time you want a fresh snapshot). If you have a seldom-used repo, or a repo only used by a very small number of machines, you might reasonably decide not to mirror those. One other thing - all this does is set up the repo mirrors. It doesn't instruct your machines to use them. You'll want to modify your repo definitions on other machines in your infra to do that (with Chef or Puppet or Ansible or whatever you use for config management).
    – Pat Gunn
    Aug 3 at 20:43













up vote
3
down vote



accepted







up vote
3
down vote



accepted






The answers for this will vary a bit depending on your distro, but for RHEL, you'll want to use a utility called reposync - Redhat documents the process here:
https://access.redhat.com/solutions/23016



However, it sounds like you might be hitting issues with your webserver setup which are probably unrelated to the repo work. Depending on what webserver you're using to serve the files (nginx and apache are popular choices), you'll want to debug that as a generic webserver issues problem.



As for the comparison to WSUS, as far as I can tell from MS's explanation, they're not quite analogous; a YUM repo is basically a directory structure containing multiple versions of a lot of individual packages and some metadata that the client can use to quickly learn about those packages. It has no moving parts; the clients are responsible for using it effectively (and you'd use other tools to have them do so).






share|improve this answer













The answers for this will vary a bit depending on your distro, but for RHEL, you'll want to use a utility called reposync - Redhat documents the process here:
https://access.redhat.com/solutions/23016



However, it sounds like you might be hitting issues with your webserver setup which are probably unrelated to the repo work. Depending on what webserver you're using to serve the files (nginx and apache are popular choices), you'll want to debug that as a generic webserver issues problem.



As for the comparison to WSUS, as far as I can tell from MS's explanation, they're not quite analogous; a YUM repo is basically a directory structure containing multiple versions of a lot of individual packages and some metadata that the client can use to quickly learn about those packages. It has no moving parts; the clients are responsible for using it effectively (and you'd use other tools to have them do so).







share|improve this answer













share|improve this answer



share|improve this answer











answered Aug 3 at 18:00









Pat Gunn

1212




1212







  • 1




    Apologies if this is a dumb question. With reposync, it asks for a repo ID. On my online server, the command 'subscription-manager repos' gives me quite a few different repos each with their own IDs. Will I need to use reposync for each of those repos to add the packages to my local repository?
    – Racehorse35
    Aug 3 at 18:14










  • It's not a dumb question (and we're all always learning). You only need to mirror what you want to mirror (and note that you need to rerun reposync every time you want a fresh snapshot). If you have a seldom-used repo, or a repo only used by a very small number of machines, you might reasonably decide not to mirror those. One other thing - all this does is set up the repo mirrors. It doesn't instruct your machines to use them. You'll want to modify your repo definitions on other machines in your infra to do that (with Chef or Puppet or Ansible or whatever you use for config management).
    – Pat Gunn
    Aug 3 at 20:43













  • 1




    Apologies if this is a dumb question. With reposync, it asks for a repo ID. On my online server, the command 'subscription-manager repos' gives me quite a few different repos each with their own IDs. Will I need to use reposync for each of those repos to add the packages to my local repository?
    – Racehorse35
    Aug 3 at 18:14










  • It's not a dumb question (and we're all always learning). You only need to mirror what you want to mirror (and note that you need to rerun reposync every time you want a fresh snapshot). If you have a seldom-used repo, or a repo only used by a very small number of machines, you might reasonably decide not to mirror those. One other thing - all this does is set up the repo mirrors. It doesn't instruct your machines to use them. You'll want to modify your repo definitions on other machines in your infra to do that (with Chef or Puppet or Ansible or whatever you use for config management).
    – Pat Gunn
    Aug 3 at 20:43








1




1




Apologies if this is a dumb question. With reposync, it asks for a repo ID. On my online server, the command 'subscription-manager repos' gives me quite a few different repos each with their own IDs. Will I need to use reposync for each of those repos to add the packages to my local repository?
– Racehorse35
Aug 3 at 18:14




Apologies if this is a dumb question. With reposync, it asks for a repo ID. On my online server, the command 'subscription-manager repos' gives me quite a few different repos each with their own IDs. Will I need to use reposync for each of those repos to add the packages to my local repository?
– Racehorse35
Aug 3 at 18:14












It's not a dumb question (and we're all always learning). You only need to mirror what you want to mirror (and note that you need to rerun reposync every time you want a fresh snapshot). If you have a seldom-used repo, or a repo only used by a very small number of machines, you might reasonably decide not to mirror those. One other thing - all this does is set up the repo mirrors. It doesn't instruct your machines to use them. You'll want to modify your repo definitions on other machines in your infra to do that (with Chef or Puppet or Ansible or whatever you use for config management).
– Pat Gunn
Aug 3 at 20:43





It's not a dumb question (and we're all always learning). You only need to mirror what you want to mirror (and note that you need to rerun reposync every time you want a fresh snapshot). If you have a seldom-used repo, or a repo only used by a very small number of machines, you might reasonably decide not to mirror those. One other thing - all this does is set up the repo mirrors. It doesn't instruct your machines to use them. You'll want to modify your repo definitions on other machines in your infra to do that (with Chef or Puppet or Ansible or whatever you use for config management).
– Pat Gunn
Aug 3 at 20:43













 

draft saved


draft discarded


























 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f460393%2fcreating-a-yum-repo-for-network-machines%23new-answer', 'question_page');

);

Post as a guest













































































Popular posts from this blog

How to check contact read email or not when send email to Individual?

Displaying single band from multi-band raster using QGIS

How many registers does an x86_64 CPU actually have?