Comments on Creating A Local Yum Repository (CentOS)

Creating A Local Yum Repository (CentOS) Sometimes it can be handy to set up your own repository to prevent from downloading the remote repository over and over again. This tutorial shows how to create a CentOS mirror for your local network. If you have to install multiple systems in your local network then all needed packages can be downloaded over the fast LAN connection, thus saving your internet bandwidth.

21 Comment(s)

Add comment

Please register in our forum first to comment.

Comments

By: israel

your tutorial is simple and all one needs to create a local repository is in this tutorial, i just dont understand why some people were not able to make this work. Well, i have, and everything is working. It couldn't get much simplier than this.... :)

Always backup files/ before making any changes !!

By: Malcolm

Hardly... no mention of using rsync there to keep the repository up to date. Use of nfs which is non-standard - what's wrong with using a web server??? Okay, the above howto has a few mistakes but there's enough to get a working Yum server going if you know a little bit about what you're doing.

By:

What the CentOS document is referring to is a repository that one may host their own rpms for multiple machines in their network. There's no need to use rsync if you're not downloading anything - the repo they discuss aren't for updates but for a site's own packages. And in what way is NFS not standard? You mean for yum repositories? Do observe the following: - baseurl=file:///share/CentOS/$releasever/local/$basearch So, with NFS they are allowing users on the local net to download IF they need it (file:// ...). What if it's a machine that does not handle http ? Exactly. yum update is all that is needed here. Example: I have my own repo on my server here. But it's also public. So if I want to update a package on my 'client machine' there is absolutely no need for rsync. What would I be downloading? The repo? I want the package(s) updated and NOT stored (I build them and they are stored in one place; I may or may not use all of them in each machine). It's hosting only certain packages so anyone who has the repo configured on their machine simply uses yum not rsync. The document here and the document at CentOS's wiki are accomplishing different things.

By:

Wouldn't it be far better to install a cache consisting of only usefull packages then just downloading the complete list of packages?

eg. why download kde/gnome etc. to your mirror when your not even using them ;) 

By: John Sam

tutorial on centos website is better I think.

http://wiki.centos.org/HowTos/CreateLocalRepos

By:

Hi,

I would like to add two ideas to this article:

  1. We use the rsync with this switches: rsync -avH --delete --exclude-from=exclude_file. --delete deletes the package from the local repository if its not present at the source repository anymore. And the exclude list is a long list about graphical or other not needed programs for a server. They are useful to keep the repo size low.
  2. We run the createrepo command only when a new package has been added to the repo. For example: FIND_OS=`find repo/path -ctime -1 | wc -l`
    if [ $FIND_OS -gt 0 ]
    then
         /usr/bin/createrepo -u repo/url -o repo/path repo/path >> /dev/null
    fi

By: Al

Excellent idea, thank you!

By: Christian Kalkhoff

If you care, I have written down the steps necessary to set up a private mirror of CentOS 5.x on my blog: http://ninan.info/2009/04/how-to-setup-a-private-centos-mirror/

By:

Hi all!

mkdir -pv /var/www/html/centos/4/{os,updates}/i386

mkdir -pv /var/www/html/centos/4/os/i386/CentOS/RPMS/

Copy the RPMs from the CDs/DVD to /var/www/html/centos/base. - but in the previous commands we do not create base directory. What is the correct directory where the content of CD/DVD must be copied? (the correct directory structure)

Thanks a lot.

 

By: Anonymous

I agree. If you're going to do a tutorial around Linux then at least be as specific and correct as possible.

By: bender183

2 quick suggestions for the author of this how to; next time you are thinking of writing a how to, do not do the following:

1.  hard drugs

2.  ever write a how to on a public forum again

This had to be the sloppiest how to ive ever come across in my entire life. 

By: angrywhiteman

To the commenter:

   1. somebody took some time to give out some knowledge. It may not be perfect, but it is more helpful then your comments.

   2. Don't be a prick.

 

 

 

By: Tim Harper

bender, I can certainly understand the frustration when given incomplete or misleading information.  Perhaps you could point out what particularly could be improved in this how to for the benefit of the other readers.

By: simon

LOL,

In my case, i'm trying to integrate a package that is not on any mirror. This does not tell how to create a repository but how to mirror one.

By: sreedhar

Hi

From where the $releasever values are taken.  i have configured server and client.

but my client (rhel 5.2) takes  http://****/yum/redhat/5/ instead of 5.2.

 

pls advice.

 

sreedhar

By: Anonymous

Hi,

I have a question:

I have one machine that has access to one sw repository from certain url and 6 that don't have access to this url, 

All these 7 machines are in the same network and I need to share the sw repository from the first machine with the others 7 machines.

how to do that?

By: damien

I really appreciate you taking the time to write this how 2 but as stated above it really sucks to try and follow it. It is missing steps and is not complete. I guess this is more of a How 2 figure out whats missing from the How 2.

By: Anonymous

Hello,

 just wanted to say : THANKS !

Great Article !!!! Clear and Simple.

Well Done !

 

Thank You.

Avinoam

By: sarath

YUM completely depends on a tool called createrepo.

This tool creates all the necessary files required for managing packages in a repository. Files like repomd.xml,filelists.xml etc.

When you fetch data from a repository, first these files are downloaded, that contains the information about the packages in the repository.

How Does YUM repository Work

By: bob

Wonderful post.This is nice post and gives in depth information. I like to read this post because I met so many new facts about it actually.Thanks a lot. I bookmark your blog because I found very good information on your blog, Thanks for sharing

By: Fahad Zaman

Thank You very much. It works fine for me. After hours of efforts, finally got solution from you. Thank You... Again.