carlmfischer.com mrepo server

I setup mrepo on my backup server running CentOS 5 and I use it for initial installs and yum updates for my mythbackend running CentOS, my main server running CentOS, and the mrepo server itself running CentOS. I initially setup the mrepo server for my myth frontends running Fedora, but now I use MiniMyth.

Mrepo is now available in the rpmforge repository, but here are the steps I took to get it up and running before the rpm was available

I followed this setup and built mrepo from the mrepo subversion. On my stock CentOS install, I had to install via yum: #yum install mod_dav_svn
#yum install rpm-build
#yum install createrepo
This enabled me to build the mrepo rpm.
I continued to follow the setup except keeping my /var/mrepo location stock to what the rpm installed.

I copied the iso's to the /var/mrepo/iso/ directory, configured my mrepo.conf and configured the various releases .conf files: the centos4.conf, centos5.conf, fedora8.conf and fedora9.conf in the /etc/mrepo.conf.d/ directory. I was able to build the repositories, which took roughly 8 hours per release over a dsl connection.

I did one update at a time, issuing the following command: mrepo -ugvv centos5 I liked the fact that you can only setup one release at a time, to make sure everything worked.

The centos5.conf had a few modifications that I made, mainly to the iso = /var/mrepo/iso/CentOS-$release-$arch-binDVD.iso to point to the DVD iso.

For the initial install of CentOS, I booted off the boot.iso, and pointed to my mrepo server for the HTTP install - http://mrepo_server/mrepo/centos5-i386/

Once the install was complete, I placed the internal_centos5.repo in the /etc/yum.repos.d/ directory. I changed the [update] to [updates] and baseurl=http://my_server_ip/mrepo/centos5-i386/RPMS.updates/. I then removed the CentOS-Base.repo and CentOS-Media.repo so I only had my internal.repo file in there. I did run into one issue where as soon as I booted the machine, yum ran at startup using the stock .repo files and saved the repodata, so I had to issue # yum clean all which cleared any data downloaded.

I then issued #yum update and yum updated 114 packages in about 3 minutes. Now when I install or upgrade anything via yum, it grabs the files from the Mrepo server.

Here is my internal_centos4.repo configuration file for CentOS 4, which I used before upgrading to CentOS 5.

Here are my older Fedora 7 internal repo files for internal_fedora7-i386.repo and internal_fedora7-x86_64.repo.

And my Fedora 8 internal repo files internal_fedora8-i386.repo and internal_fedora8-x86_64.repo, which are similar to the Fedora 7 interal repo files.

I let cron update the mrepo server nightly, and it pulls any updates, then I can update each box whenever needed.